Header Web
Logo_PHC_Software
Manuais
Formato Xml Padrão Phc
Exportação de Documentos de Facturação para XML

Para responder à necessidade da aplicação produzir um Xml onde contenha mais informação de forma a poder ser entregue a diversas entidades existe um Formato XML Padrão PHC que possui um formato fixo.

Desta forma quem possuir o Módulo Documentos Electrónicos, pode através da configuração dos documentos de facturação, na página Documento electrónico escolher a opção Inclui Formato Xml Padrão PHC.
Este xml possuí informação sobre o documento de facturação, o cliente e a empresa que emite a factura.

No caso do Documento Electrónico, ao seleccionar esta opção o XML Padrão substitui o xml configurável.

Existe um parâmetro chamado Código GLN da própria empresa, quando este parâmetro está vazio, no xml o valor do GLN da empresa é preenchido com o Código EAN da Empresa.

Na ficha do Cliente existem alguns campos que passam para o documento de facturação quando este é criado. São eles, por exemplo o Código GLN do cliente, Nº de fornecedor no cliente e 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 está preenchido na ficha do cliente, na construção do xml este campo é preenchido com o valor do código EAN.

Dica:
Gln são códigos de localização.
Um EAN13 identifica uma empresa, um GLN identifica um local (tipo um armazém, uma loja).
Uma mesma empresa (1 código EAN) pode ter vários GLN (vários locais).


No Documento de Facturação, na página Documento electrónico aparecem os novos campos da ficha do Cliente e o Código GLN da empresa que são preenchidos por defeito.
Aparece também o campo data de entrega e hora, que serve para registar a data de entrega da mercadoria.

Na produção do Xml são também validados alguns campos da ficha completa da empresa, são eles: Nome, Morada, Código Postal, Nº Contribuinte, Capital Social e Conserv. Reg. Social.

Se possuir a gama Enterprise é possível definir um evento AposPrepararCursorXmlPadrao para o ecrã SFT, onde se pode alterar os cursores criados de forma a acrescentar outros dados ao Xml. Os nome dos cursores usados são: Documento, Linhas, LinhasDesconto, LinhasTaxa, LinhasReferencias e TaxaSubTotal.

O XML Padrão dos documentos de facturação contém os seguintes elementos:

<Documento> - Que agrupa os campos identificativos do documento, da entidade emissora do documento e do respectivo cliente.
<Linhas> - Elemento que agrega os dados relacionados com as linhas do documento de facturação, apresentando-os divididos nos seguintes elementos:
<LinhasDesconto> - Guarda o desconto em valor do documento;
<LinhasTaxa> - Guarda as taxas aplicadas á linha respectiva, no documento.
<LinhasReferencia> - Guarda a informação de documentos que estejam na sua origem, como por exemplo, Encomenda de Cliente.
<TaxaSubTotal> - Elemento que 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, respectivamente.
Os elementos têm campos considerados obrigatórios e facultativos. Na criação do documento electrónico os campos obrigatórios têm de ser todos preenchidos.

O próximo quadro apresenta todos os elementos, obrigatórios e facultativos:







































































































































































































































































































































































































































































































ElementoNome XML Padrão
PHC
CampoDescrição
Documentoversao Obrigatório. Versão do schema
 tipodocTd.tipodocObrigatório. Tipo de documento*
 codmoedaFt.memissao ou FT.moedaObrigatório. Moeda de emissão
 timestamp** Obrigatório. Timestamp do documento
 numdocFt.fnoObrigatório. Número do documento
 datadocFT.fdataObrigatório. Data do documento
 localcargaFt.cargaObrigatório. Local de carga
 datacargaFt.cdata + Ft.choraObrigatório. Data de carga
 localentregaFt2.localentregaObrigatório. Local de entrega
 moradaentregaFt2.moradaentregaFacultativo. Morada do local de
entrega
 loclocalentregaFt2.locallocentFacultativo. Localidade do local
de entrega
 codpostentregaFt2.codpentregaFacultativo. Código Postal do
local de entrega
 dataentregaFt2.dataentrega + Ft2.horaentregaObrigatório. Data de entrega
 matriculaFt.matriculaObrigatório. Matrícula da viatura
que efectua a entrega
 glnfornecedorFt2.glnftObrigatório. Código GLN do
fornecedor
 codfornecedorFt2.codfornecedorObrigatório. Código de fornecedor
 nomefornecedorE1.nomecompObrigatório. Este campo da Ficha
Completa da Empresa guarda o nome do Emissor.
 moradafornecedor   E1.moradaObrigatório. Este campo da Ficha
Completa da Empresa guarda a morada do Emissor.
 ncontfornecedorE1.ncontObrigatório. Este campo da Ficha
Completa da Empresa guarda o nº de contribuinte do Emissor.
 consregE1.consregObrigatório. Este campo da Ficha
Completa da Empresa guarda o Registo comercial do Emissor.
 matricularegE1.nomatriFacultativo. Este campo da Ficha
Completa da Empresa guarda a matrícula do Registo Comercial do Emissor.
 livroregE1.livroFacultativo. Este campo da Ficha
Completa da Empresa guarda o Livro do Registo Comercial do Emissor.
 folhasregE1.folhasFacultativo. Este campo da Ficha
Completa da Empresa guarda as folhas do Livro do Registo Comercial do
Emissor.
 capsocialE1.ecapsocialObrigatório. Este campo da Ficha
Completa da Empresa guarda o valor do Capital Social do Emissor.
 glnclienteFt2.glnclObrigatório.
 ncontclienteFt.ncontObrigatório. Número de
contribuinte do cliente
 nomeclienteFt.nomeObrigatório. Nome do Cliente
 moradaclienteFt2.moradaObrigatório. Morada do cliente
 totalbase Obrigatório. Montante tributável,
somatório do elemento basetaxa
 totalimpostoFt.ettivaObrigatório. Total da taxa (IVA)
 totalFt.etotalObrigatório. Total com taxa
 totalecoFt2.ftettecovalCampo obrigatório para os
utilizadores que possuem o módulo ECOVALOR e representa o Total do
Ecovalor do documento.
 descfinanceiroFt.efinvObrigatório. Desconto financeiro
do documento
 datavencimentoFt.pdataObrigatório. Data de vencimento do
documento
 codpostclienteCl.codpostObrigatório. Este campo pertence á
tabela de Cliente e guarda o Código Postal do cliente.
 localclienteCl.localObrigatório. Este campo pertence á
tabela de Cliente e guarda a Localidade do cliente.
 codpostfornecedorE1.codpostObrigatório. Campo da Ficha
Completa da Empresa e guarda o Código Postal do Emissor.
 localfornecedorE1.localObrigatório. Campo da Ficha
Completa da Empresa e guarda a localidade do Emissor.
 numlinhas Número de Linhas
 eanclienteFt.eanclObrigatório. Código EAN do cliente
 eanfornecedorFt.eanftObrigatório. Código EAN do
fornecedor
 moradasedeCl.moradaFacultativo. Este campo pertence á
tabela de Clientes e guarda a morada da sede do cliente.
 localsedeCl.localFacultativo. Este campo pertence á
tabela de Clientes e guarda a localidade da sede do cliente.
 codpostsedeCl.codpostFacultativo. Este campo pertence á
tabela de Clientes e guarda o código postal da morada da sede do
cliente.
 classificacaoFt.classeFacultativo. Classificação
 observacoesFt2.obsdocFacultativo. Observações
 motivoisencaoFt2.motiseimpObrigatório. Descrição do Motivo
de
Isenção
 codmotivoisencaoFt2.codmotiseimpObrigatório. Código do Motivo de
Isenção
 invoiceno(Td.TipoSaft + " " + ft.ndoc + "/"
+ ft.fno)
Obrigatório. Tipo para SAFT +
espaço + Nº interno da série + "/" + Nº do documento
 invoicetypeTd.tiposaftObrigatório. Tipo para SAFT
 PaisncontclienteFt2.pncontObrigatório. Iniciais do País de
origem
 regimeivaFt2.descregivaObrigatório. Descrição do Regime
de IVA
 invoicestatus

Obrigatório. É preenchido com "A"
caso o documento esteja anulado e "N" caso contrário.
Linhasversao Obrigatório. Versão do schema
 linha Obrigatório. Número de linha
 codeanFi.codigoObrigatório. Código EAN do artigo.
 refclienteFi.clirefObrigatório. Referência do cliente
 referenciaFi.refObrigatório. Referência do artigo.
Veja a Nota no
final da página.
 descricaoFi.designObrigatório. Descrição do artigo
 unidadeFi.unidadeObrigatório. Unidade de medida
 unidalternativaFi.unidad2Facultativo. Unidade de medida
alternativa
 precoliquidoFi.etiliquido/fi.qtt sem IvaObrigatório. Preço unitário
líquido, ou seja sem IVA
 precototalFi.etiliquido sem IVAObrigatório. Preço total líquido,
sem IVA
 quantidadeFi.qttObrigatório. Quantidade
 quantalternativaFi.uni2qttFacultativo. Quantidade alternativa
 loteFi.loteFacultativo. Lote do artigo
 validadeloteSe.validadeFacultativo. Este campo da tabela
de Lotes guarda a data de validade do lote.
 bonus Obrigatório. Linha de bónus
 notaFi.nmobs + fi.lobs2 + fi.lobs3Obrigatório. Nota
 motivoisencaoFi.motiseimpObrigatório. Descrição do Motivo
de Isenção
 codmotivoisencaoFi.codmotiseimpObrigatório. Código do Motivo de
Isenção. Nas linhas se o campo motivo de isenção não estiver
preenchido,
no xml será usado o campo do cabeçalho
LinhasDesconto  Facultativo. Este elemento guarda
os valores do desconto.
LinhasTaxa  Facultativo. Este elemento guarda
os valores das taxas aplicadas ao documento IVA, ECO, etc...
LinhasReferenciaslinha Obrigatório. Nº de linha
 refdataFt.data ou Bo.dataobraObrigatório. Este campo guarda a
data do documento de origem que pode ser um Dossier Interno ou outro
Documento de Facturação.
 refnomedocFt.doc ou Bo.nmdosObrigatório. Este campo guarda o
nome do documento de origem que pode ser um Dossier Interno ou outro
Documento de Facturação.
 refnumdocFt.fno ou Bo.obranomeObrigatório. Este campo guarda o
número do documento de origem que pode ser um Dossier Interno ou outro
Documento de Facturação.
 reftipodocTs.rescli ou Td.tipodocObrigatório. Este campo guarda o
tipo de documento. Se o doucmento de origem for um Dossier Interno de
Clientes então o seu valor deve ser 5, caso contrário deve ser 0.
TaxaSubTotal  Obrigatório. Este elemento guarda
os valores totais das taxas aplicadas ás linhas.





* O tipo Interno de documento é um campo numérico que guarda o número respectivo de acordo com o tipo de documento que constitui o XML;
1 - Documento de Facturação
2 - Documento de Débito
3 - Documento de Crédito
4 - Guias de Remessa / Facturas proforma

Nota: Quando a Factura tem Lotes e provém de cópia de uma Guia de Remessa o campo da referência fica vazio. Quando tal acontece a aplicação lê o campo Oref determinando a correcta actualização dos restantes campos ligados a Lotes, como por exemplo a validade do lote.

Para além destes campos que caracterizam o XML Padrão, se o utilizador pretender pode mapear outros.
Para tal, deve na configuração do documento de facturação seleccionar o Documento XML que configurou com os novos campos.
Na configuração basta escolher os novos campos e ao criar o documento electrónico, o XML é criado com estes elementos adicionais.

Independentemente de se criarem os elementos com letra maíuscula e minúscula, todos os elementos do XML Padrão vão ser criados com letra minúscula.