Para responder à necessidade da aplicação produzir um XML com mais informação de forma a poder ser entregue a diversas entidades, existe um Formato XML Padrão PHC que possui um formato fixo.
Enquadramento
Quem possuir o Módulo Documentos Eletrónicos poderá, através da configuração dos documentos de faturação, na página Documento eletrónico, escolher a opção Inclui Formato Xml Padrão PHC.
Este XML possuirá informação sobre o documento de faturação, o cliente e a empresa que emite a fatura. No caso do Documento Eletrónico, ao selecionar esta opção, o XML Padrão substituirá o XML configurável.
Existirá um parâmetro chamado Código GLN da própria empresa. Quando este parâmetro estiver vazio, no XML o valor do GLN da empresa será preenchido com o Código EAN da Empresa.
Na ficha do Cliente, existirão alguns campos que passam para o documento de faturação quando este é criado. São eles, por exemplo, o Código GLN do cliente, o Nº de fornecedor no cliente e o Local de entrega.
Estes campos são obrigatórios no XML, assim como a morada, o código postal e o código EAN do cliente. Quando o código GLN não estiver preenchido na ficha do cliente, na construção do XML este campo será preenchido com o valor do código EAN.
GLN são códigos de localização. Um EAN13 identifica uma empresa e um GLN identifica um local, como um armazém ou uma loja. Uma mesma empresa, com 1 código EAN, poderá ter vários GLN, vários locais.
No Documento de Faturação, na página Documento eletrónico, aparecerão os novos campos da ficha do Cliente e o Código GLN da empresa, preenchidos por defeito. Aparecerá também o campo data de entrega e hora, que servirá para registar a data de entrega da mercadoria.
Na produção do XML serão também validados alguns campos da ficha completa da empresa:
Nome;
Morada;
Código Postal;
Nº Contribuinte;
Capital Social;
Conserv. Reg. Social.
Se possuir a gama Enterprise, será possível definir um evento AposPrepararCursorXmlPadrao para o ecrã SFT, onde se poderão alterar os cursores criados de forma a acrescentar outros dados ao XML. Os nomes dos cursores usados são: Documento, Linhas, LinhasDesconto, LinhasTaxa, LinhasReferencias e TaxaSubTotal.
Elementos do XML Padrão
O XML Padrão dos documentos de faturação contém os seguintes elementos:
Documento: agrupa os campos identificativos do documento, da entidade emissora do documento e do respetivo cliente.
Linhas: agrega os dados relacionados com as linhas do documento de faturação, apresentando-os divididos nos seguintes elementos:
LinhasDesconto: guarda o desconto em valor do documento;
LinhasTaxa: guarda as taxas aplicadas à linha respetiva no documento;
LinhasReferencia: guarda a informação de documentos que estejam na respetiva origem, como por exemplo Encomenda de Cliente.
TaxaSubTotal: guarda os valores totais das taxas aplicadas nas linhas.
Os elementos decisivos do XML Padrão são aqueles que guardam os campos do cabeçalho, o elemento Documento, e os campos das linhas, o elemento Linhas.
Os elementos têm campos considerados obrigatórios e facultativos. Na criação do documento eletrónico, os campos obrigatórios terão de ser todos preenchidos.
Elemento Documento
Nome XML Padrão PHC | Campo | Descrição |
versao | Obrigatório. Versão do schema | |
tipodoc | Td.tipodoc | Obrigatório. Tipo de documento* |
codmoeda | Ft.memissao ou Ft.moeda | Obrigatório. Moeda de emissão |
timestamp | ** | Obrigatório. Timestamp do documento |
numdoc | Ft.fno | Obrigatório. Número do documento |
datadoc | Ft.fdata | Obrigatório. Data do documento |
localcarga | Ft.carga | Obrigatório. Local de carga |
datacarga | Ft.cdata + Ft.chora | Obrigatório. Data de carga |
localentrega | Ft2.localentrega | Obrigatório. Local de entrega |
moradaentrega | Ft2.moradaentrega | Facultativo. Morada do local de entrega |
loclocalentrega | Ft2.locallocent | Facultativo. Localidade do local de entrega |
codpostentrega | Ft2.codpentrega | Facultativo. Código Postal do local de entrega |
dataentrega | Ft2.dataentrega + Ft2.horaentrega | Obrigatório. Data de entrega |
matricula | Ft.matricula | Obrigatório. Matrícula da viatura que efetua a entrega |
glnfornecedor | Ft2.glnft | Obrigatório. Código GLN do fornecedor |
codfornecedor | Ft2.codfornecedor | Obrigatório. Código de fornecedor |
nomefornecedor | E1.nomecomp | Obrigatório. Nome do Emissor |
moradafornecedor | E1.morada | Obrigatório. Morada do Emissor |
ncontfornecedor | E1.ncont | Obrigatório. Nº de contribuinte do Emissor |
consreg | E1.consreg | Obrigatório. Registo comercial do Emissor |
matriculareg | E1.nomatri | Facultativo. Matrícula do Registo Comercial do Emissor |
livroreg | E1.livro | Facultativo. Livro do Registo Comercial do Emissor |
folhasreg | E1.folhas | Facultativo. Folhas do Livro do Registo Comercial do Emissor |
capsocial | E1.ecapsocial | Obrigatório. Capital Social do Emissor |
glncliente | Ft2.glncl | Obrigatório. Código GLN do cliente |
ncontcliente | Ft.ncont | Obrigatório. Número de contribuinte do cliente |
nomecliente | Ft.nome | Obrigatório. Nome do Cliente |
moradacliente | Ft2.morada | Obrigatório. Morada do cliente |
totalbase | Obrigatório. Montante tributável, somatório do elemento basetaxa | |
totalimposto | Ft.ettiva | Obrigatório. Total da taxa (IVA) |
total | Ft.etotal | Obrigatório. Total com taxa |
totaleco | Ft2.ftettecoval | Obrigatório para quem possui o módulo ECOVALOR. Total do Ecovalor do documento |
descfinanceiro | Ft.efinv | Obrigatório. Desconto financeiro do documento |
datavencimento | Ft.pdata | Obrigatório. Data de vencimento do documento |
codpostcliente | Cl.codpost | Obrigatório. Código Postal do cliente |
localcliente | Cl.local | Obrigatório. Localidade do cliente |
codpostfornecedor | E1.codpost | Obrigatório. Código Postal do Emissor |
localfornecedor | E1.local | Obrigatório. Localidade do Emissor |
numlinhas | Obrigatório. Número de Linhas | |
eancliente | Ft.eancl | Obrigatório. Código EAN do cliente |
eanfornecedor | Ft.eanft | Obrigatório. Código EAN do fornecedor |
moradasede | Cl.morada | Facultativo. Morada da sede do cliente |
localsede | Cl.local | Facultativo. Localidade da sede do cliente |
codpostsede | Cl.codpost | Facultativo. Código postal da morada da sede do cliente |
classificacao | Ft.classe | Facultativo. Classificação |
observacoes | Ft2.obsdoc | Facultativo. Observações |
motivoisencao | Ft2.motiseimp | Obrigatório. Descrição do Motivo de Isenção |
codmotivoisencao | Ft2.codmotiseimp | Obrigatório. Código do Motivo de Isenção |
invoiceno | Td.TipoSaft + espaço + ft.ndoc + / + ft.fno | Obrigatório. Tipo para SAF-T + espaço + Nº interno da série + / + Nº do documento |
invoicetype | Td.tiposaft | Obrigatório. Tipo para SAF-T |
paisncontcliente | Ft2.pncont | Obrigatório. Iniciais do País de origem |
regimeiva | Ft2.descregiva | Obrigatório. Descrição do Regime de IVA |
invoicestatus | Obrigatório. Preenchido com A caso o documento esteja anulado e N caso contrário |
Elemento Linhas
Nome XML Padrão PHC | Campo | Descrição |
versao | Obrigatório. Versão do schema | |
linha | Obrigatório. Número de linha | |
codean | Fi.codigo | Obrigatório. Código EAN do artigo |
refcliente | Fi.cliref | Obrigatório. Referência do cliente |
referencia | Fi.ref | Obrigatório. Referência do artigo |
descricao | Fi.design | Obrigatório. Descrição do artigo |
unidade | Fi.unidade | Obrigatório. Unidade de medida |
unidalternativa | Fi.unidad2 | Facultativo. Unidade de medida alternativa |
precoliquido | Fi.etiliquido/fi.qtt sem IVA | Obrigatório. Preço unitário líquido, sem IVA |
precototal | Fi.etiliquido sem IVA | Obrigatório. Preço total líquido, sem IVA |
quantidade | Fi.qtt | Obrigatório. Quantidade |
quantalternativa | Fi.uni2qtt | Facultativo. Quantidade alternativa |
lote | Fi.lote | Facultativo. Lote do artigo |
validadelote | Se.validade | Facultativo. Data de validade do lote |
bonus | Obrigatório. Linha de bónus | |
nota | Fi.nmobs + fi.lobs2 + fi.lobs3 | Obrigatório. Nota |
motivoisencao | Fi.motiseimp | Obrigatório. Descrição do Motivo de Isenção |
codmotivoisencao | Fi.codmotiseimp | Obrigatório. Código do Motivo de Isenção. Se o campo motivo de isenção não estiver preenchido nas linhas, no XML será usado o campo do cabeçalho |
Elementos adicionais
LinhasDesconto: facultativo. Guarda os valores do desconto.
LinhasTaxa: facultativo. Guarda os valores das taxas aplicadas ao documento, IVA, ECO, etc.
LinhasReferencias:
linha: obrigatório. Nº de linha;
refdata: Ft.data ou Bo.dataobra. Obrigatório. Data do documento de origem, que poderá ser um Dossier Interno ou outro Documento de Faturação;
refnomedoc: Ft.doc ou Bo.nmdos. Obrigatório. Nome do documento de origem, que poderá ser um Dossier Interno ou outro Documento de Faturação.