Registar Factura

Serviço destinado à recepção de pedidos de registo de facturas electrónicas, devolvendo em resposta o identificador único do pedido, identificador essencial para acompanhar o processo de validação posterior que indicará se a factura validou ou não com sucesso. Caso o pedido não seja aceite é dada informação dos problemas que levaram à sua rejeição.

Características do Serviço

Endereço de homologação

POST https://sifphml.minfin.gov.ao/sigt/fe/v1/registarFactura

Endereço de produção

POST https://sifp.minfin.gov.ao/sigt/fe/v1/registarFactura

Payload de entrada para solicitar criação de série

 {
    "schemaVersion": "1.2",
    "submissionUUID": "a1b2c3d4-e5f6-7890-g1h2-i23822j2232-3784",
    "taxRegistrationNumber": "5001636863",
    "submissionTimeStamp": "2025-11-04T14:30:00Z",
    "softwareInfo": {
        "softwareInfoDetail": {
            "productId": "Meu ERP CERTO",
            "productVersion": "1.0.1",
            "softwareValidationNumber": "C_134"
        },
        "jwsSoftwareSignature": "eyJ0eXAiOiJKT1NFIiwiYWxnIjoiUlMyNTYifQ.eyJwcm9kdWN0SWQiOiJNZXUgRVJQIENFUlRPIiwicHJvZHVjdFZlcnNpb24iOiIxLjAuMSIsInNvZnR3YXJlVmFsaWRhdGlvbk51bWJlciI6IkNfMTM0In0.VE3zkvOJOpqBfz4wpx4KCgcwOGgzGUP3MSMbaHCDnHhwOaeA6jlccBW9HjgQvg2tYCVVq0imrU_z0grEHNthhG4xD3afSOD1_RzvHs8Tc45dvztHJzB4gF0CAX-yIDwi7XcHiMRY0vkXOETBeHKewg0ktWSnZ7SLf4GxGzE7ry2u_pmhqhCPhxpa0oGQ_rBJUYkEAFg1OwaqjwvzCFgdT11r-XsHmnkcfJX_ktj59RWR_zgbytiCRtwCK9LNUflveS5GzUaCXbPn2deQ3F2hPldLECEa_ahwoapoK1LhkgOAVyPLJf6M1Cm09Le7rkdSaWQSW5BI_sPx5YaUaXkeqg"
    },
    "numberOfEntries": 1,
    "documents": [
        {
            "documentNo": "FT FT6325S2C/10006",
            "documentStatus": "N",
            "jwsDocumentSignature": "eyJ0eXAiOiJKT1NFIiwiYWxnIjoiUlMyNTYifQ.eyJkb2N1bWVudE5vIjoiRlQgRlQ2MzI1UzJDLzEwMDA2IiwidGF4UmVnaXN0cmF0aW9uTnVtYmVyIjoiNTAwMTYzNjg2MyIsImRvY3VtZW50VHlwZSI6IkZUIiwiZG9jdW1lbnREYXRlIjoiMjAyNS0xMS0wNCIsImN1c3RvbWVyVGF4SUQiOiJQVDk4NzY1NDMyMSIsImN1c3RvbWVyQ291bnRyeSI6IlBUIiwiY29tcGFueU5hbWUiOiJDbGllbnRlIEV4ZW1wbG8gTGRhIn0.Sg0jnyksnnXtXUkf5PaoZrRtf3kiNkw3urFaE2D1fHLLLw_hQWc896-cGbRVnJGRHPrcnOnEQqQ-ws5R51erzadVstr9Q1yUd0CIvUhszGO15t6m0H--O9VtNMWEOp2asP4P80LD4m55y5rX2stCCGAmTI2N1cAWAhw1JbRr2Zb378y8ZI8dicfJm1QDzs5YKmXrRqXH9yvaF62SHXXfpv5gzLRAAbRwjvY7roso_PRuue9Ke1w0hojnpBmr_zUg0D3eBa-eUjtVPMQsbl5DXBFhr4Qydr4Q04tvUqLBAeGpQmxTRZGs2OCjQzdz2tYIZSbEiFR9Zo6EwL1s1tsRnA",
            "documentDate": "2025-11-04",
            "documentType": "FT",
            "eacCode": "12345",
            "systemEntryDate": "2025-11-04T11:15:30Z",
            "customerTaxID": "PT987654321",
            "customerCountry": "PT",
            "companyName": "Cliente Exemplo Lda",
            "lines": [
                {
                    "lineNumber": 1,
                    "productCode": "PROD001",
                    "productDescription": "Produto Exemplo 1",
                    "quantity": 2,
                    "unitOfMeasure": "UN",
                    "unitPrice": 250,
                    "unitPriceBase": 250,
                    "debitAmount": 0,
                    "creditAmount": 500,
                    "taxes": [
                        {
                            "taxType": "IVA",
                            "taxCountryRegion": "AO",
                            "taxCode": "NOR",
                            "taxPercentage": 14,
                            "taxContribution": 70
                        }
                    ],
                    "settlementAmount": 0
                }
            ],
            "documentTotals": {
                "taxPayable": 70,
                "netTotal": 500,
                "grossTotal": 570
            },
            "withholdingTaxList": [
                {
                    "withholdingTaxType": "IRT",
                    "withholdingTaxDescription": "Retenção na fonte",
                    "withholdingTaxAmount": 16.5
                }
            ]
        }
    ]
 }
Payload assinatura Registar Factura
 {
    "documentNo": "...",
    "taxRegistrationNumber": "...",
    "documentType": "...",
    "documentDate": "...",
    "customerTaxID": "...",
    "customerCountry": "...",
    "companyName": "...",
    "documentTotals": {
        "taxPayable": 70,
        "netTotal": 500,
        "grossTotal": 570
    }
 }

Payload de Saída(resposta)

 {
    {
        "requestID": "202500000010689",
        "errorList": []
    }
 }

Parâmetros de entrada

Campo Tipo (JSON) Atributos Obrigatório Descrição

schemaVersion

string

N/A

Sim

Versão do schema do serviço, exemplo “1.0”

submissionUUID

string

N/A

Sim

Identificadorúnico da solicitação fornecido pelo software, no formato UUID standard “xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx” em que:

  • Cada x é um dígito hexadecimal (0–9, a–f);

  • M indica a versão do UUID (por exemplo, 4 para UUID versão 4 — aleatório);

  • N indica o variant (especifica o layout; para UUIDs compatíveis com RFC 4122, os primeiros bits de N devem estar entre 8 e b).

Exemplo:

550e8400-e29b-41d4-a716-446655440000

Este identificador deverá ser único por cada submissão do contribuinte emissor.

taxRegistrationNumber

string

“maxlength”: 15

Sim

Número fiscal de contribuinte.

submissionTimeStamp

string

N/A

Sim

Timestamp de submissão do pedido no formato ISO 8601, exemplos:

  • "2025-05-27T14:30:00Z" (em UTC);

  • "2025-05-27T14:30:00-03:00" (com informação de timezone).

softwareInfo

object

N/A

Sim

Objecto com os dados do Software de Facturação.

numberOfEntries

integer

N/A

Sim

Número de facturas que constam na chamada ao serviço.

documents

array

N/A

Sim

Array com a lista de facturas (object document)

Prevê-se um máximo de 30 facturas.

Composição (properties) do object softwareInfo

Campo Tipo (JSON) Atributos Obrigatório Descrição

softwareInfoDetail

object

N/A

Sim

Objecto com os detalhes do Software de Facturação

jwsSoftwareSignature

string

Tamanho variável em Base64URL (dependendo do tamanho da chave usada)

Sim

Assinatura digital do Software de Facturação usando a chave privada do software, através o algoritmo RS256 (RSA + SHA-256).
É utilizado o conteúdo total do objecto softwareInfoDetail na assinatura.

O resultado é codificado em Base64URL, sendo que o tamanho final da string varia conforme o tamanho da chave usada (2048, 3072 ou 4096 bits).

Composição (properties) do object softwareInfoDetail

Campo Tipo (JSON) Atributos Obrigatório Descrição

productId

string

N/A

Sim

Nome do Software de Facturação.

productVersion

string

N/A

Sim

Versão do Software de Facturação.

softwareValidationNumber

string

N/A

Sim

Número de Certificação do Software de Facturação.

signatureVersion

integer

N/A

Sim

Número de assinatura a aplicar. Sempre que um Software de Facturação é registado é também transmitida a(s) chave(s) pública(s) necessária(s) para descodificação das assinaturas. O Produtor pode optar por ter mais do que uma assinatura activa de forma a permitir, por exemplo, a transição de um conjunto alargado de instalações de uma assinatura em fase de descontinuação, para outra que entrou em vigor.

A AGT manterá o conjunto de chaves transmitido pelo produtor aplicando-as ou não de acordo com a gestão efectuada pelo mesmo.

Composição (itens) do array documents

Campo Tipo (JSON) Atributos Obrigatório Descrição

document

object

N/A

Sim

Array com a lista de documentos (object document)

Prevê-se um máximo de 30 documentos.

Composição (properties) do object document

Campo Tipo (JSON) Atributos Obrigatório Descrição

documentNo

string

“minlength” : 8

“maxlength”: 60

Sim

Identificação única do documento, gerado pelo Software de Facturação de documentos em conformidade com o documento SAF-T(AO).

Consiste de um código de documento interno - espaço - número de série do documento -/- e um número sequencial do documento para a sequência de consentimento.

documentStatus

string

“minlength” : 1

“maxlength”: 1

Sim

Estado actual do documento de facturação, com os seguintes valores possíveis e significados:

  • N - Normal

  • C - Documento gerado para correcção de documento anteriormente gerado e rejeitado pela AGT (identificado no campo rejectedDocumentNo)

rejectedDocumentNo

String

“minlength” : 8

“maxlength”: 60

Não

Identificação do número de documento previamente submetido à AGT e rejeitado por falta de conformidade.

O preenchimento deste campo é obrigatório quando a informação de estado do documento transmitido é correcção (documentStatus = “C”).

O documento identificado nesta correcção será verificado se corresponde a uma rejeição no histórico de pedidos de registo de facturas emitidas.

jwsDocumentSignature

string

“minlength” : 256

“maxlength”: 256

Sim

Assinatura digital da factura usando a chave privada do emissor através do algoritmo RS256 (RSA + SHA-256). Os campos das facturas a ser utilizados na assinatura são:

  • documentNo

  • taxRegistrationNumber

  • documentType

  • documentDate

  • customerTaxID

  • customerCountry

  • companyName

  • documentTotals

O resultado é codificado em Base64URL, sendo que o tamanho final da string varia conforme o tamanho da chave usada (2048, 3072 ou 4096 bits).

documentDate

string

“format”: “date”

Sim

Data de emissão do documento

documentType

string

“minlength” : 2

“maxlength”: 2

Sim

Tipo de documento de facturação electrónica, com os seguintes valores possíveis e significados:

  • FA - Factura de Adiantamento

  • FT - Factura

  • FR - Factura/Recibo

  • FG - Factura Global

  • GF - Factura Genérica

  • AC - Aviso de Cobrança

  • AR - Aviso de Cobrança/Recibo

  • TV - Talão de Venda

  • RC - Recibo Emitido

  • RG - Recibo

  • RE - Estorno ou Recibo de Estorno

  • ND - Nota de Débito

  • NC - Nota de Crédito

  • AF - Factura/Recibo de Autofacturação

  • RP - Prémio ou Recibo de Prémio

  • RA - Resseguro Aceite

  • CS - Imputação a Co-seguradoras

  • LD - Imputação a Co-seguradora Líder

eacCode

string

“minlength” : 5

“maxlength”: 5

Não

Código de actividade que se relaciona com esta factura (ver Anexo 6.1.)

systemEntryDate

string

“format”: “date-time”

Sim

Timestamp de gravação do registo no momento da assinatura - formato ISO 8601 (YYYY-MM-DDThh:mm:ss)

customerCountry

string

“minlength” : 2

“maxlength”: 2

Sim

Código de país do comprador, seguindo a norma ISO 3166-1-alpha-2, para compradores domésticos é utilizada a sigla “AO”

customerTaxID

string

“minlength” : 1

“maxlength”: 50

Sim

Número de identificação do cliente da factura. Para compradores domésticos (identificados com AO no campo customerCountry) é preenchido com o NIF em Angola.

Para documentos de facturação de contribuintes domésticos sem identificação do comprador poderá ser utilizado o valor “999999999”.

companyName

string

“minlength” : 1

“maxlength”: 200

Sim

Nome/denominação do contribuinte.

lines

array

N/A

Não

Array com a lista de artigos do documento de facturação (object document), sendo não preenchido para os tipos de factura (documentType):

  • AR - Aviso de Cobrança/Recibo

  • RC - Recibo Emitido

  • RG - Outros Recibos Emitidos

Este elemento é obrigatoriamente preenchido para os demais tipos de documentos de facturação

paymentReceipt

object

N/A

Não

Object com os dados do recibo, sendo obrigatoriamente preenchido para os tipos de factura (documentType):

  • AR - Aviso de Cobrança/Recibo

  • RC - Recibo Emitido

  • RG - Outros Recibos Emitidos

Este elemento não é preenchido para os demais tipos de documentos de facturação.

documentTotals

object

N/A

Sim

Objecto cujos atributos apresentam os totais do documento de facturação.

withholdingTaxList

array

N/A

Não

Array com a lista de retenções na fonte do documento de facturação (object withHoldingTax).

Composição (itens) do array lines

Campo Tipo (JSON) Atributos Obrigatório Descrição

line

object

N/A

Sim

Objecto com os dados de uma linha de artigos ou serviços do documento de facturação.

Composição (properties) do object line

Campo Tipo (JSON) Atributos Obrigatório Descrição

lineNumber

integer

“minimum” : 1

Sim

Número da linha de artigos do documento de facturação, começando em 1 e incrementando de 1 unidade em cada nova linha.

operationType

string

“minlength” : 2

“maxlength”: 3

Sim

Indicador de tipo de operação na linha, com os seguintes valores possíveis e significados:

  • SE - Prestação de serviços de educação;

  • SS - Prestação de serviços de saúde;

  • STP - Prestação de serviços de transporte de passageiros;

  • SR - Prestação de serviços sujeitos a royalties;

  • SIF - Prestação de serviços de intermediação financeira ou seguradora;

  • SHS - Prestação de serviços de hotelaria e similares;

  • ST - Prestação de serviços de telecomunicações;

  • SG - Prestação de serviço (geral - outros);

  • TB - Transmissão de bens;

  • AS - Arrendamento e subarrendamento;

  • QT - Quotas;

  • RD - Repasse de despesas.

operationDate

string

“format”: “date”

Não (*)

Data de realização da operação.

(*) Este campo é de preenchimento obrigatório para documentos dos tipos:

  • GF - Factura genérica;

  • FG - Factura global.

productCode

string

“minlength” : 1

“maxlength”: 60

Sim

Código do produto ou serviço.

productDescription

string

“minlength” : 1

“maxlength”: 200

Sim

Descrição do produto ou serviço.

quantity

number

“minimum” : 0

Sim

Quantidade, inteira ou decimal.

unitOfMeasure

string

“minlength” : 1

“maxlength”: 20

Sim

Unidade de medida.

unitPriceBase

number

“minimum” : 0

Sim

Preço unitário base, sem descontos e sem impostos.

unitPrice

number

“minimum” : 0

Sim

Preço unitário já deduzido de descontos por linha ou cabeçalho, sem incluir impostos.

referenceInfo

object

N/A

Não

Objecto detalhando a referência para o documento base para este documento de facturação.

Obrigatório para documentos de facturação do tipo:

  • NC, para indicar a factura base aonde se deu a devolução de artigos.

debitAmount

number

“minimum” : 0

Não

Montante total para cada linha, excluindo impostos, sendo abatido o valor de descontos, aonde o valor da taxa e/ou o motivo da isenção foi aplicada.

Só um dos campos debitAmount e creditAmount poderá estar preenchido.

creditAmount

number

“minimum” : 0

Não

Montante total para cada linha, excluindo impostos, sendo abatido o valor de descontos, aonde o valor da taxa e/ou o motivo da isenção foi aplicada.

Só um dos campos debitAmount e creditAmount poderá estar preenchido.

taxes

array

N/A

Não

Array de objectos que especificam o(s) imposto(s) calculados para a linha.

settlementAmount

number

“minimum”: 0

Sim

Valor total de descontos, deve reflectir a proporção do desconto global para essa linha e o desconto específico para a mesma.

Composição (itens) do object referenceInfo

Campo Tipo (JSON) Atributos Obrigatório Descrição

reference

string

“minlength” : 1

“maxlength”: 60

Sim

Referência do documento de facturação origem a que este artigo se refere.

reason

string

“maxlength”: 60

Não

Motivo de intervenção no documento origem.

Composição (properties) do array taxes

Campo Tipo (JSON) Atributos Obrigatório Descrição

taxType

string

“minlength” : 2

“maxlength”: 4

Sim

Sistema de imposto, com os seguintes valores possíveis e significados:

  • IVA - Imposto s/ o Valor Acrescentado;

  • IS - Imposto de Selo;

  • IEC - Imposto Especial de Consumo;

  • CEOC - Contribuição Especial de Consumo;

  • NS - Não sujeito a IVA, IS, IEC ou CEOC.

taxCountryRegion

string

“minlength” : 2

“maxlength”: 6

Sim

Código de País ou Região do Imposto.
Quando se refere a um país utiliza um código ISO 3166-1-alpha-2.

Quando se refere à região de Cabinda (único valor possível diferente de códigos de países) deverá utilizar o valor “AO-CAB”.

taxCode

string

“minlength” : 2

“maxlength”: 10

Não

Código de imposto, de preenchimento obrigatório dependendo do valor preenchido no campo taxType, assumindo os seguintes valores possíveis e significados:

Se taxType = IVA:

  • NOR - Taxa normal

  • INT – Taxa intermédia

  • RED – Taxa reduzida

  • ISE - Isento

  • OUT – Outra

Se taxType = IS:

  • Preenchido opcionalmente com a verba de IS, ver valores possíveis no anexo 6.3.

  • ISE – Isento

Se taxType = IEC:

  • Preenchido opcionalmente, quando preenchido deverá ter o código pautal para aplicação de IEC, ver valores possíveis no anexo 6.2.

  • ISE – Isento

Se taxType = CEOC:

  • NOR - Taxa normal (10% para colectivos)

  • RED - Taxa reduzida (2,5% para singulares)

taxBase

number

“minimum”: 0

Não

Valor tributável unitário, sendo gerado quando o montante a constar na linha se refere unicamente a imposto, i.e., a base tributável subjacente à determinação desse imposto não constitui receita do sujeito passivo (poderá não fazer parte dos campos debitAmount ou creditAmount).

Exemplos:

  • Emitir um documento rectificativo de factura, seja ele uma nota de débito ou crédito, por a taxa de imposto mencionada na factura se encontrar incorrecta e não existindo a possibilidade ou intenção de proceder à anulação desta ou de se efectuar o seu estorno integral, ter-se-á de liquidar ou devolver o imposto, respectivamente, em falta ou em excesso.

  • Nas situações de concessão de crédito por instituições mutuantes com o encargo de liquidar Imposto do Selo pelo crédito concedido, a base considerada para a liquidação desse imposto não constitui sua receita pelo que essa base deverá constar no campo TaxBase.

taxPercentage

number

“minimum”: 0

Não

Taxa a aplicar em percentagem (exemplo: 14 representa a taxa de 14%). Deverá ser preenchida com 0 no caso de isenção ou não sujeição.

taxAmount

number

“minimum”: 0

Não

Valor fixo da verba de IS, concorre após multiplicado pela quantidade (quantity) para o valor de imposto total da linha do documento de facturação.

taxContribution

number

“minimum”: 0

Não

Valor calculado de imposto para esta linha de impostos (valor decimal com um máximo de 2 casas decimais) contribuindo para o total de impostos do documento de facturação.

O valor calculado neste campo deverá ser arredondado por excesso para o cêntimo seguinte, tal como ilustram os exemplos:

Cálculo Valor do taxContribution

23,144

23,15

0,001844

0,01

5,9999999

6,00

taxExemptionCode

string

“minlength”: 3 “maxlength”: 3

Não

Código de motivo de isenção do imposto. Campo deverá ser preenchido sempre que campo taxCode assumir o valor “ISE” (isento), sendo nesse caso de preenchimento obrigatório.

Quando for preenchido o taxType = “NS” (Não sujeito a IVA, IS ou IEC, deverá também ser preenchido obrigatoriamente.

Quando preenchido assume um dos valores constantes no anexo 6.4 (IVA), 6.5 (IS) ou 6.6 (IEC).

Composição (properties) do object paymentReceipt

Campo Tipo (JSON) Atributos Obrigatório Descrição

sourceDocuments

array

N/A

Sim

Dados do documento de facturação pago.

Composição (itens) do array sourceDocumentList

Campo Tipo (JSON) Atributos Obrigatório Descrição

lineNo

integer

“minimum” : 1

Sim

Número da linha do documento de facturação que foi incluída no recibo, iniciando em 1 e incrementando de 1 unidade em cada nova linha.

sourceDocumentID

object

N/A

Sim

Dados do documento de facturação que foi incluído neste recibo.

debitAmount

number

“minimum” : 0

Não

Valor do recibo do documento rectificativo que resultou da lista de documentos sem

impostos e eventuais descontos.

Um e um só dos campos debitAmount e creditAmount poderá estar preenchido.

creditAmount

number

“minimum” : 0

Não

Valor do recibo da factura ou documento rectificativo, sem impostos e eventuais descontos.

Um e um só dos campos debitAmount e creditAmount poderá estar preenchido.

Composição (itens) do object sourceDocumentID

Campo Tipo (JSON) Atributos Obrigatório Descrição

OriginatingON

string

“minlength” : 1

“maxlength”: 60

Sim

Número do documento de facturação regularizado.

documentDate

string

“format”: “date”

Sim

Data de emissão da factura ou documento rectificativo desta a que se refere o pagamento.

Composição (properties) do object documentTotals

Campo Tipo (JSON) Atributos Obrigatório Descrição

taxPayable

number

N/A

Sim

Valor total de imposto devido (soma de imposto das linhas).

Quando se trata de um documento de facturação dos tipos:

  • AR - Aviso de Cobrança/Recibo;

  • RC - Recibo Emitido;

  • RG - Outros Recibos emitidos.

Este valor deverá ser apurado somando os valores taxPayable dos diferentes documentos origem regularizados pelo recibo, sendo as NC contabilizadas com sinal negativo.

Este campo não poderá conter valores decimais com mais do que 2 casas decimais.

netTotal

number

N/A

Sim

Valor total do documento sem imposto

Quando se trata de um documento de facturação dos tipos:

  • AR - Aviso de Cobrança/Recibo;

  • RC - Recibo Emitido;

  • RG - Outros Recibos emitidos.

Este valor é apurado somando os valores netTotal dos diferentes documentos origem regularizados pelo recibo, sendo as NC contabilizadas com sinal negativo.

grossTotal

number

N/A

Sim

Soma do valor total sem imposto e do valor total de imposto devido.

currency

object

N/A

Não

Objecto destinado a guardar a informação da divisa em que se processa o pagamento da factura, não preenchido se divisa for AOA. Passa a preenchimento obrigatório caso divisa diferente de AOA.

Composição (properties) do object currency

Campo Tipo (JSON) Atributos Obrigatório Descrição

currencyCode

string

“minlength” : 3

“maxlength”: 3

Sim

Código da divisa utilizada para pagar a factura, segundo norma ISO 4217 (excluindo AOA).

currencyAmount

number

“exclusiveMinimum” : 0

Sim

Valor total na moeda estrangeira.

exchangeRate

number

“exclusiveMinimum” : 0

Sim

Taxa de câmbio para AOA.

Composição (itens) do array withholdingTaxList

Campo Tipo (JSON) Atributos Obrigatório Descrição

withholdingTaxType

string

"maxLength": 3

Sim

Código de tipo de retenção na fonte ou de cativação, assumindo os seguintes valores possíveis e significados:

  • IRT - Imposto Sobre os Rendimentos do Trabalho;

  • II - Imposto Industrial;

  • IS - Imposto de Selo;

  • IVA - Imposto s/ o Valor Acrescentado;

  • IP - Imposto Predial;

  • IAC - Imposto sobre Aplicação de Capitais;

  • OU - Outros;

  • IRPC - Imposto s/ rendimento de pessoas colectivas (impostos futuros);

  • IRPS - Imposto s/ rendimento de pessoas singulares (impostos futuros).

withholdingTaxDescription

string

"maxLength": 120

Não

O motivo de retenção na fonte. Devem ser indicadas as disposições legais aplicáveis ou a percentagem de imposto aplicável.

withholdingTaxAmount

number

N/A

Sim

Valor de retenção na fonte.

Quando se trata de um documento de facturação de um dos tipos:

  • AR - Aviso de cobrança/recibo

  • RC - Recibo emitido

  • RG - Outros recibos emitidos

Este valor é apurado agrupando os valores withholdingTaxAmount, para o mesmo tipo de imposto (withholdingTaxType) dos diferentes documentos origem regularizados pelo recibo, sendo as NC contabilizadas com sinal negativo.

Parâmetros de saída (POST)

HTTP code Tipo (JSON) Descrição

200

string

requestID

Registo de pedido efectuado com sucesso sendo devolvido ID de confirmação de solicitação de registo de documentos de facturação – a validação será efectuada de forma diferida no tempo.

Este parâmetro será também disponibilizado em caso de registo de pedido com erros, quando existe erro de requisição duplicada, providenciando a informação do ID de confirmação que foi utilizado para registar pela 1ª vez a requisição.

Atributos da string requestID: “maxlength”: 15

400

array

errorList

Registo de pedido efectuado com erros, sendo devolvida uma lista de erros na recepção dos dados do pedido de registo dos documentos de facturação.

Composição (itens) do array errorList

Campo Tipo (JSON) Atributos Obrigatório Descrição

idError

string

N/A

Sim

Código do erro (ver tabela na secção 4.1.5).

descriptionError

string

N/A

Sim

Descrição do erro (ver tabela na secção 4.1.5).

documentNo

string

N/A

Não

Número do documento de facturação a que se refere o erro (campo com o mesmo nome transmitido nos parâmetros de entrada).

Campo passa a obrigatório se erro ocorrer num dos parâmetros incluídos no array documents.

Códigos e mensagens de erro no retorno do Serviço

Tendo em conta as regras de negócio, são propostos os seguintes erros de validação:

Regra de negócio Código de erro Descrição de erro

FE-RNG-001

FE-RNG-002

E01

Falta de parâmetro <parâmetro>

FE-RNG-003

E02

Formato inválido do parâmetro <parâmetro> (<valor do parâmetro>).

FE-RNG-004

E03

Valor não esperado do parâmetro <parâmetro> (<valor do parâmetro>).

FE-RNG-005

E04

Número de facturas especificado no parâmetro “numberOfEntries” (<valor de numberOfEntries>) não coincide com o número de ocorrências do array “documents” (<nº de ocorrências de documents>).

FE-RNG-006

E05

Número fiscal do emissor especificado no parâmetro <parâmetro> (<valor do parâmetro>) não possui actividade registada no sistema da AGT.

FE-RNG-008

E06

A data de criação do pedido especificado no parâmetro “creationDate” (<valor do parâmetro>) não está dentro do período permitido.

FE-RNG-009

E07

Software de facturação especificado no parâmetro “softwareValidationNo” (<valor do parâmetro>) não está certificado

FE-RNG-010

E08

A assinatura do Produtor de Software “jwsSoftwareSignature” não está de acordo com a informação transmitida.

FE-RNG-011

E39

Os dados constantes na assinatura do Produtor de Software “jwsSoftwareSignature” não estão de acordo com a informação constante no processo de Certificação do Software.

FE-RNG-012

E09

Factura especificada no parâmetro <parâmetro> (<valor do parâmetro>) já consta no repositório do sistema

FE-RNG-013

E10

Incorrecta especificação do contribuinte no preenchimento dos parâmetros “customerTaxID” (<valor do parâmetro>), “taxIDNumber” (<valor do parâmetro>) e “taxIDCountry” (<valor do parâmetro>)

FE-RNG-014

E11

Número fiscal Angolano especificado no parâmetro <parâmetro> (<valor do parâmetro>) é desconhecido no sistema da AGT.

FE-RNG-015

E12

Incorrecto número de linha de artigo na factura preenchido no parâmetro “lineNo” (<valor do parâmetro>) originando repetição ou quebra de sequência

FE-RNG-016

E13

É esperado documento de facturação de referência para a factura transmitida que não foi especificado no parâmetro “referenceInfo”

FE-RNG-017

E14

Documento de referência preenchido no parâmetro “reference” (<valor do parâmetro>) é desconhecido do sistema.

FE-RNG-018

E15

Não podem ser especificados em simultâneo os parâmetros <parâmetro1> (<valor do parâmetro1>) e <parâmetro2> (<valor do parâmetro2>).

FE-RNG-019

E16

A soma dos valores a crédito para as diferentes linhas de um documento de facturação deve ser obrigatoriamente inferior à soma dos valores a débito quando se trata de uma nota de crédito.

FE-RNG-020

E17

A soma dos valores a crédito para as diferentes linhas de um documento de facturação deve ser obrigatoriamente superior à soma dos valores a débito quando se trata de um documento diferente de nota de crédito.

FE-RNG-021

E18

Combinação não permitida dos campos <parâmetro1> (<valor do parâmetro1>), <parâmetro2> (<valor do parâmetro2>), <parâmetro3> (<valor do parâmetro3>), <parâmetro4> (<valor do parâmetro4>).

FE-RNG-022

E19

O campo “taxBase” (<valor do parâmetro>) não pode estar especificado simultaneamente com um dos campos “debitAmount (<valor do parâmetro>) ou “creditAmount (<valor do parâmetro>).

FE-RNG-023

E20

Combinação não permitida dos campos <parâmetro1> (<valor do parâmetro1>), <parâmetro2> (<valor do parâmetro2>)

FE-RNG-024

E21

Valor do campo <parâmetro1> (<valor do parâmetro1>) não coincide com a aplicação da fórmula: quantity * unitPriceBase

FE-RNG-025

E22

Valor total de impostos da factura “taxPayable” (<valor do parâmetro>), não corresponde à soma dos impostos de todas as linhas (<total calculado>)

FE-RNG-026

E23

Valor total do documento sem impostos “netPayable” (<valor do parâmetro>), não corresponde à soma dos valores sem impostos de todas as linhas (<total calculado>)

FE-RNG-027

E24

Valor total do documento com impostos “grossPayable” (<valor do parâmetro>), não corresponde à soma dos valores com impostos de todas as linhas (<total calculado>)

FE-RNG-028

E25

Valor registado na factura no campo “grossTotal” não corresponde ao valor na divisa utilizada no pagamento (<valor do parâmetro>) ao câmbio da divisa (<valor do parâmetro>)

FE-RNG-029

E26

Utilização incorrecta do campo “lines” para o tipo de factura (<valor do parâmetro>)

E27

Utilização incorrecta do campo “paymentReceipt” para o tipo de factura (<valor do parâmetro>)

FE-RNG-007

E28

Número fiscal do emissor especificado no parâmetro <parâmetro> (<valor do parâmetro>) não aderiu à facturação electrónica no sistema da AGT.

FE-RNG-030

E29

A data de emissão do documento de facturação “documentDate” (<valor do parâmetro>) é anterior à data de adesão do contribuinte à facturação electrónica (<data de adesão>).

FE-RNG-031

E40

Os dados constantes na assinatura da chamada do serviço “jwsSignature” não estão de acordo com a informação constante na chamada do serviço.

FE-RNG-061

E41

A soma dos valores a regularizar assinalados nos campos “debitAmount”/”creditAmount” (<valor do parâmetro>) para o documento dado em “OriginatingON”(<valor do parâmetro>) excede o montante remanescente do referido documento.

FE-RNG-068

E42

A soma dos valores a anular/devolver assinalada no campo “debitAmount”/”creditAmount” (<valor do parâmetro>) para o mesmo documento base dado em “reference”(<valor do parâmetro>) excede o montante ainda não anulado/devolvido do referido documento.

FE-RNG-069

E43

Quantidade de artigos/serviços assinalados no campo “quantity” (<valor do parâmetro>) deverá ser zero para aplicações de correcções com o campo “taxBase” (<valor do parâmetro>).

FE-RNG-073

E46

A emissão de documentos com o mesmo número de identificação no campo documentNo (<valor do parâmetro>) de outro documento previamente enviado e rejeitado pela AGT não é aceite. As correcções de documentos rejeitados deverão ser efectuados com a utilização de um novo número de documento.

Adicionalmente poderão ocorrer os seguintes erros não funcionais:

Código de erro Descrição de erro

E99

Outro erro não detalhado <parâmetro> (<valor do parâmetro>)

Nota: O registo de uma factura para validação através deste serviço obriga a uma validação preliminar do formato da informação recebida, para a qual se dá resposta imediata, sendo a validação completa dos dados das facturas efectuada de forma diferida no tempo, de acordo com a capacidade e programação dos processamentos batch.