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:

Elemento Nome XML Padrão PHC Campo Descrição
Documento 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 efectua 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. Este campo da Ficha Completa da Empresa guarda o nome do Emissor.
  moradafornecedor    E1.morada Obrigatório. Este campo da Ficha Completa da Empresa guarda a morada do Emissor.
  ncontfornecedor E1.ncont Obrigatório. Este campo da Ficha Completa da Empresa guarda o nº de contribuinte do Emissor.
  consreg E1.consreg Obrigatório. Este campo da Ficha Completa da Empresa guarda o Registo comercial do Emissor.
  matriculareg E1.nomatri Facultativo. Este campo da Ficha Completa da Empresa guarda a matrícula do Registo Comercial do Emissor.
  livroreg E1.livro Facultativo. Este campo da Ficha Completa da Empresa guarda o Livro do Registo Comercial do Emissor.
  folhasreg E1.folhas Facultativo. Este campo da Ficha Completa da Empresa guarda as folhas do Livro do Registo Comercial do Emissor.
  capsocial E1.ecapsocial Obrigatório. Este campo da Ficha Completa da Empresa guarda o valor do Capital Social do Emissor.
  glncliente Ft2.glncl Obrigatório.
  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 Campo obrigatório para os utilizadores que possuem o módulo ECOVALOR e representa o 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. Este campo pertence á tabela de Cliente e guarda o Código Postal do cliente.
  localcliente Cl.local Obrigatório. Este campo pertence á tabela de Cliente e guarda a Localidade do cliente.
  codpostfornecedor E1.codpost Obrigatório. Campo da Ficha Completa da Empresa e guarda o Código Postal do Emissor.
  localfornecedor E1.local Obrigatório. Campo da Ficha Completa da Empresa e guarda a localidade do Emissor.
  numlinhas   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. Este campo pertence á tabela de Clientes e guarda a morada da sede do cliente.
  localsede Cl.local Facultativo. Este campo pertence á tabela de Clientes e guarda a localidade da sede do cliente.
  codpostsede Cl.codpost Facultativo. Este campo pertence á tabela de Clientes e guarda o 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 + " " + ft.ndoc + "/" + ft.fno) Obrigatório. Tipo para SAFT + espaço + Nº interno da série + "/" + Nº do documento
  invoicetype Td.tiposaft Obrigatório. Tipo para SAFT
  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.
Linhas 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. Veja a Nota no final da página.
  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, ou seja 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. Este campo da tabela de Lotes guarda a 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. 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...
LinhasReferencias linha   Obrigatório. Nº de linha
  refdata Ft.data ou Bo.dataobra Obrigatório. Este campo guarda a data do documento de origem que pode ser um Dossier Interno ou outro Documento de Facturação.
  refnomedoc Ft.doc ou Bo.nmdos Obrigatório. Este campo guarda o nome do documento de origem que pode ser um Dossier Interno ou outro Documento de Facturação.
  refnumdoc Ft.fno ou Bo.obranome Obrigatório. Este campo guarda o número do documento de origem que pode ser um Dossier Interno ou outro Documento de Facturação.
  reftipodoc Ts.rescli ou Td.tipodoc Obrigató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. No entanto, deixa de ser de preenchimento obrigatório quando não há valores, como por exemplo, quando o desconto equivale a 100%. Deste modo, o XML padrão não irá conter o elemento 'TaxaSubTotal' quando há desconto de 100%.

* 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.