assoft-portugal / SAF-T-AO

Official XSD from the Government of Angola for use in SAF-T AO
https://www.agt.minfin.gov.ao
MIT License
56 stars 63 forks source link

tabela Payments – Payment #66

Closed Marcosinffoco closed 4 years ago

Marcosinffoco commented 4 years ago

Informações ultrapassadas:

Executei vários procedimento de actualização da estrutura do saft.

Informações sobre a chave HASH Realmente, tinha toda a razão sobre a chave HASH. Consegui ultrapassar a falha de validação. Era realmente o GROSSTOTAL junto com outros componentes e casas decimais informadas em vários lugares.

Informações sobre a tabela MasterFiles - TAXTABLE A tabela TAXTABLE, já consegui entender sobre a duplicidade, bastava acrescentar informações extras em Description, pois eu só informava “IMPOSTO SOBRE O VALOR ACRESCENTADO”, agora passei a incrementar com o percentual de 14%, 2% quando houver taxa a 2% e quando tiver isenção. Passou no validador.

Informações sobre a tabela SourceDocuments - SalesInvoices - TaxExemptionReason

<TaxExemptionReason>Isento nos termos da alinea a) do no2 do artigo 14.o</TaxExemptionReason>
<TaxExemptionCode>M85</TaxExemptionCode>

Consegui entender o que era para ser informado.

Emiti vários tipos e esta dando mensagem de validado no portal de testes da AGT.

tabela Payments – Payment

Agora eu tenho este problema em relação ao que é informado na tabela Payments – Payment

Estas são as mensagens do testador da AGT:

  1. Falha na validação, o campo AuditFile.SourceDocuments.Payments.5Payment.DocumentTotals.TaxPayable do ficheiro está mal calculado
  2. O campo AuditFile.SourceDocuments.Payments.5Payment.1Line.Tax no ficheiro não permite repetição

Testes que executei nos recibos

Fiz experimentos com:

  1. recibo de um documento factura com taxas (imposto) – PASSOU
  2. recibo de um documento factura COM ISENÇÃO (sem taxas) – PASSOU
  3. recibo de um documento factura com taxas (imposto) e com desconto – PASSOU
  4. recibo de um documento factura COM ISENÇÃO (sem taxas) e com desconto – PASSOU

Agora, somente uma situação que encontrei este problema:

  1. RECIBO DE UM DOCUMENTO FACTURA COM DOIS ITENS: 1.1. UM ITEM COM TAXA (IVA 14%) 1.2 UM ITEM COM ISENÇÃO (SEM TAXA)

Estrutura XML abaixo:

 <Payment>
<!--   PaymentId 5  -->
<PaymentRefNo>RC RE20/5</PaymentRefNo>
<Period>05</Period>
<TransactionDate>2020-05-19</TransactionDate>
<PaymentType>RC</PaymentType>
<Description>RECIBO</Description>
<SystemId>RE2000005</SystemId>
<DocumentStatus>
<PaymentStatus>N</PaymentStatus>
<PaymentStatusDate>2020-05-19T11:13:42</PaymentStatusDate>
<SourceId>Marcos Aurelio</SourceId>
<SourcePayment>I</SourcePayment>
</DocumentStatus>
<PaymentMethod>
<PaymentMechanism>NU</PaymentMechanism>
<PaymentAmount>31140.00</PaymentAmount>
<PaymentDate>2020-05-19</PaymentDate>
</PaymentMethod>
<SourceId>Marcos Aurelio</SourceId>
<SystemEntryDate>2020-05-19T11:13:42</SystemEntryDate>
<CustomerID>0045</CustomerID>
<Line>
<LineNumber>1</LineNumber>
<SourceDocumentId>
<OriginatingOn>FT FT20/8</OriginatingOn>
<InvoiceDate>2020-05-19</InvoiceDate>
</SourceDocumentId>
<SettlementAmount>0.00000</SettlementAmount>
<CreditAmount>31000.00000</CreditAmount>
<Tax>
<TaxType>IVA</TaxType>
<TaxCountryRegion>AO</TaxCountryRegion>
<TaxCode>NOR</TaxCode>
<TaxPercentage>14.00</TaxPercentage>
</Tax>
<Tax>
<TaxType>IVA</TaxType>
<TaxCountryRegion>AO</TaxCountryRegion>
<TaxCode>ISE</TaxCode>
<TaxPercentage>0.00</TaxPercentage>
</Tax>
<TaxExemptionReason>
Isento nos termos da alinea a) do no2 do artigo 14.o
</TaxExemptionReason>
<TaxExemptionCode>M85</TaxExemptionCode>
</Line>
<DocumentTotals>
<TaxPayable>140.00</TaxPayable>
<NetTotal>31000.000</NetTotal>
<GrossTotal>31140.00</GrossTotal>
</DocumentTotals>
</Payment>

Como pode ver, esta factura FT FT20/8; N parte que informo o TAX, sou obrigado a informar dois tipos de Taxas:

  1. Com Taxa a 14%
  2. Com isenção, taxa a 0%

Resumo dos valores: Tem dois artigos:

  1. um com taxa 14% IVA – valor incidência – 1.000,00 – Taxa – 140,00
    1. um segundo artigo com isenção – incidência 30.000,00 – Taxa 0,00 –

O NETTOTAL 31.000 TAXPAYABLE 140,00 GROSSTOTA 31.140,00

Primeiro, o SAFT NÃO ACEITA DUPLICIDADE NO TAX EM PaymentS - Payment.

Por conta desta duplicidade, o SAFT NÃO CONSEGUE DETECTAR O VALOR CORRECTO PARA O TAXPAYABLE.

Não sei mais a quem recorrer, pois exemplos da tabela Payments, não encontro para fazer comparação e os que encontrei, são com taxa ou só isenções. Não encontro com ambas, pois vai ocorrer com todos os sistemas.

Aqui a parte que é declarada da factura em SalesInvoices:

                                               <Invoice>
                                                               <!--  InvoiceId 19 -->
                                                               <InvoiceNo>FT FT20/8</InvoiceNo>
                                                               <DocumentStatus>
                                                                               <InvoiceStatus>N</InvoiceStatus>
                                                                               <InvoiceStatusDate>2020-05-19T11:10:47</InvoiceStatusDate>
                                                                               <SourceID>Marcos Aurelio</SourceID>
                                                                               <SourceBilling>P</SourceBilling>
                                                               </DocumentStatus>
                                               <Hash>jUEJNVy5E0Gf3obvmYiGDgmMN6IMGD1yvCE4oJFKnJeD88IqnUfikPHv67LTsC8wKlhVx/A6v0aPwKatWW/b9pbAl0JqmMFCWRNNRjnbCZvq2+6pLw6mqt/YOk7U8yDeYXvWoQDrQYJDHkKq42Fkcs7pUfYquD7+nNWnuDekn3w=</Hash>
                                                               <HashControl>1.0-FT FT20/8</HashControl>
                                                               <Period>05</Period>
                                                               <InvoiceDate>2020-05-19</InvoiceDate>
                                                               <InvoiceType>FT</InvoiceType>
                                                               <SpecialRegimes>
                                                                               <SelfBillingIndicator>0</SelfBillingIndicator>
                                                                               <CashVATSchemeIndicator>0</CashVATSchemeIndicator>
                                                                               <ThirdPartiesBillingIndicator>0</ThirdPartiesBillingIndicator>
                                                               </SpecialRegimes>
                                                               <SourceId>Marcos Aurelio</SourceId>
                                                               <SystemEntryDate>2020-05-19T11:09:42</SystemEntryDate>
                                                               <CustomerID>0045</CustomerID>
                                                               <Line>
                                                                               <LineNumber>1</LineNumber>
                                                                               <ProductCode>0000007</ProductCode>
                                                                               <ProductDescription>Produtos Alimentares</ProductDescription>
                                                                               <Quantity>1.00</Quantity>
                                                                               <UnitOfMeasure>Un.</UnitOfMeasure>
                                                                               <UnitPrice>30000.00</UnitPrice>
                                                                               <TaxPointDate>2020-05-19</TaxPointDate>
                                                                               <Description>Produtos Alimentares</Description>
                                                                               <ProductSerialNumber>
                                                                                              <SerialNumber>0000007</SerialNumber>
                                                                               </ProductSerialNumber>
                                                                               <CreditAmount>30000.00000</CreditAmount>
                                                                               <Tax>
                                                                                              <TaxType>IVA</TaxType>
                                                                                              <TaxCountryRegion>AO</TaxCountryRegion>
                                                                                              <TaxCode>ISE</TaxCode>
                                                                                              <TaxPercentage>0.00</TaxPercentage>
                                                                               </Tax>
                                                                               <TaxExemptionReason>Isento nos termos da alinea a) do no2 do artigo 14.o</TaxExemptionReason>
                                                                               <TaxExemptionCode>M85</TaxExemptionCode>
                                                               </Line>
                                                               <Line>
                                                                               <LineNumber>2</LineNumber>
                                                                               <ProductCode>0000009</ProductCode>
                                                                               <ProductDescription>artigo venda</ProductDescription>
                                                                               <Quantity>1.00</Quantity>
                                                                               <UnitOfMeasure>Un.</UnitOfMeasure>
                                                                               <UnitPrice>1000.00</UnitPrice>
                                                                               <TaxPointDate>2020-05-19</TaxPointDate>
                                                                               <Description>artigo venda</Description>
                                                                               <ProductSerialNumber>
                                                                                              <SerialNumber>0000009</SerialNumber>
                                                                               </ProductSerialNumber>
                                                                               <CreditAmount>1000.00000</CreditAmount>
                                                                               <Tax>
                                                                                              <TaxType>IVA</TaxType>
                                                                                              <TaxCountryRegion>AO</TaxCountryRegion>
                                                                                              <TaxCode>NOR</TaxCode>
                                                                                              <TaxPercentage>14.00</TaxPercentage>
                                                                               </Tax>
                                                               </Line>
                                                               <DocumentTotals>
                                                                               <TaxPayable>140.00</TaxPayable>
                                                                               <NetTotal>31000.00</NetTotal>
                                                                               <GrossTotal>31140.00</GrossTotal>
                                                                               <Payment>
                                                                                              <PaymentMechanism>NU</PaymentMechanism>
                                                                                              <PaymentAmount>31140.00</PaymentAmount>
                                                                                              <PaymentDate>2020-05-19</PaymentDate>
                                                                               </Payment>
                                                               </DocumentTotals>
                                               </Invoice>
Marcosinffoco commented 4 years ago

Bem.. agora uma grande incógnita: A 4.4 TABELA DE RECIBOS neste momento esta sendo declarados no SAFT AO? Li em alguma parte do XDS que só serve para REGIME DE CAIXA. Confirmam isto?

cryptolopes commented 4 years ago

Estrutura XML abaixo:

Os elementos não estão conforme a estrutura. Existem erros de sintaxe quanto ao nome dos elementos e nalguns casos no que tem que ver com as regras do schema.

Exemplo de Payment (simples)

<?xml version="1.0" encoding="utf-8" ?>
<SourceDocuments xmlns="urn:OECD:StandardAuditFile-Tax:AO_1.01_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:OECD:StandardAuditFile-Tax:AO_1.01_01 https://github.com/assoft-portugal/SAF-T-AO/releases/download/1.01_01.0.007/SAFTAO1.01_01.xsd">
    <Payments>
        <NumberOfEntries>1</NumberOfEntries>
        <TotalDebit>0.00</TotalDebit>
        <TotalCredit>2000.00</TotalCredit>
        <Payment>
            <PaymentRefNo>RC S01/1</PaymentRefNo>
            <Period>1</Period>
            <TransactionID>2020-01-01 RC 1</TransactionID>
            <TransactionDate>2020-01-01</TransactionDate>
            <PaymentType>RC</PaymentType>
            <Description>Descrição do pagamento</Description>
            <SystemID>1</SystemID>
            <DocumentStatus>
                <PaymentStatus>N</PaymentStatus>
                <PaymentStatusDate>2020-01-01T09:30:00</PaymentStatusDate>
                <Reason>usado para descrever alteração de de estado</Reason>
                <SourceID>User</SourceID>
                <SourcePayment>P</SourcePayment>
            </DocumentStatus>
            <PaymentMethod>
                <PaymentMechanism>CC</PaymentMechanism>
                <PaymentAmount>1000.00</PaymentAmount>
                <PaymentDate>2020-01-01</PaymentDate>
            </PaymentMethod>
            <PaymentMethod>
                <PaymentMechanism>DE</PaymentMechanism>
                <PaymentAmount>1000.00</PaymentAmount>
                <PaymentDate>2020-01-01</PaymentDate>
            </PaymentMethod>
            <SourceID>User</SourceID>
            <SystemEntryDate>2020-01-01T09:30:00</SystemEntryDate>
            <CustomerID>C1</CustomerID>
            <Line>
                <LineNumber>1</LineNumber>
                <SourceDocumentID>
                    <OriginatingON>FT S01/1</OriginatingON>
                    <InvoiceDate>2020-01-01</InvoiceDate>
                    <Description>campo de descrição</Description>
                </SourceDocumentID>
                <SourceDocumentID>
                    <OriginatingON>FT S01/2</OriginatingON>
                    <InvoiceDate>2020-01-01</InvoiceDate>
                    <Description>campo de descrição</Description>
                </SourceDocumentID>
                <SettlementAmount>0.00</SettlementAmount>
                <CreditAmount>2000.00</CreditAmount>
            </Line>
            <DocumentTotals>
                <TaxPayable>0.00</TaxPayable>
                <NetTotal>2000.00</NetTotal>
                <GrossTotal>2000.00</GrossTotal>
            </DocumentTotals>
        </Payment>
    </Payments>
</SourceDocuments>
inmx commented 4 years ago

Gostaria de saber neste caso como ficaria a tabela SalesInvoive uma vez que é agregada no ficheiro saft-ao.xml os registros de pagamentos " Payments" ou seja as facturas definitivas FT passam a ser incluídas na estrutura "SalesInvoice"?

cryptolopes commented 4 years ago

https://t.me/saftao/1822 (Paulo Matos)

Bom dia. As duas estruturas devem ser utilizadas dependendo dos tipos de documento que a aplicação gera. Se emitir um recibo, a mesmo mesmo deverá estar na estrutura Payments. Mas se por exemplo a aplicação gerar Factura / Recibo, Talão de Vendas e por aí fora, poderá utilizar o sub-elemento Payments que está em SalesInvoices

Adriiano commented 1 year ago

Olá! Tenho grandes dificuldades na emissão de recibo (Payments). 1 - Na minha factura (FT) têm duas linhas.

  <LineNumber>1</LineNumber>
 <CreditAmount>100000.00</CreditAmount>
 <TaxPercentage>14</TaxPercentage>

<LineNumber>2</LineNumber>
 <CreditAmount>50000.00</CreditAmount>
 <TaxPercentage>0</TaxPercentage>

Será que na emissão do meu recibo tenho que adicionar também as duas linhas?

felisbertojo commented 1 year ago

Boa tarde Caro Adriano,

Sei que o tópico já é antigo. Mas, vou comentar para o caso de ainda estares a precisar. Independentemente do número de linhas que tiveres numa factura, no recibo uma linha representa o pagamento de um determinado documento. Por exemplo, tens 4 facturas. Se o cliente pagar 3 facturas, então o seu recibo terá 3 linhas.

Bom final de semana

Adriiano commented 1 year ago

Obrigado mano. Tua aplicação já foi certificada?

Em sáb., 12 de ago. de 2023 às 13:29, felisbertojo @.***> escreveu:

Boa tarde Caro Adriano,

Sei que o tópico já é antigo. Mas, vou comentar para o caso de ainda estares a precisar. Independentemente do número de linhas que tiveres numa factura, no recibo uma linha representa o pagamento de um determinado documento. Por exemplo, tens 4 facturas. Se o cliente pagar 3 facturas, então o seu recibo terá 3 linhas.

Bom final de semana

— Reply to this email directly, view it on GitHub https://github.com/assoft-portugal/SAF-T-AO/issues/66#issuecomment-1675889987, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARN2QBIOYUQU7RXM7KEME6DXU5ZJHANCNFSM4NFV4WAQ . You are receiving this because you commented.Message ID: @.***>