Validar Documento
Serviço destinado a transmitir a confirmação ou rejeição de uma factura ou documento equivalente em que o solicitante é indicado como adquirente e definir a percentagem IVA Dedutível a considerar sempre que aplicável.
Características do Serviço
Endereço de homologação
Endereço de produção
Payload de entrada para solicitar criação de série
{
"schemaVersion": "1.2",
"submissionTimeStamp": "2025-10-28T18:51:10.178Z",
"taxRegistrationNumber": "5001636863",
"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"
},
"jwsSignature": "string",
"documentNo": "FT FT6325S2C/7",
"action": "C",
"deductibleVATPercentage": "72.5",
"nonDeductibleAmount": "200.00"
}
{
"taxRegistrationNumber": "...",
"documentNo": "FT FT6325S2C/7",
"action": "C",
"deductibleVATPercentage": "72.5",
"nonDeductibleAmount": "200.00"
}
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”. |
taxRegistrationNumber |
string |
“maxlength”: 15 |
Sim |
Número fiscal de contribuinte emissor da factura. |
submissionTimeStamp |
string |
N/A |
Sim |
Timestamp de submissão do pedido no formato ISO 8601. Exemplos:
|
softwareInfo |
object |
N/A |
Sim |
Objecto com os dados do Software de Facturação (ver formato em 5.1.2.1) |
jwsSignature |
string |
Tamanho variável em Base64URL (dependendo do tamanho da chave usada) |
Sim |
Assinatura digital da solicitação usando a chave privada do emissor através do algoritmo RS256 (RSA + SHA-256). Os campos a serem utilizados na assinatura são:
O resultado é codificado em Base64URL, sendo que o tamanho final da string varia conforme o tamanho da chave usada (2048, 3072 ou 4096 bits). |
documentNo |
string |
“maxlength”: 60 |
Sim |
Identificador do documento de facturação que se pretende confirmar/rejeitar. |
action |
string |
“minlength” : 1 “maxlength”: 1 |
Sim |
Acção que o adquirente pretende aplicar ao documento de facturação emitido, com os seguintes valores possíveis e significados:
|
deductibleVATPercentage |
number |
“minimum”: 0 “maximum”: 100 |
Não |
Percentagem de IVA dedutível a considerar para o documento em análise sendo utilizado quando action for “C” (confirmação do documento) e o tipo de documento não for considerado recibo nem nota de crédito. Caso este campo não esteja preenchido será considerado que o contribuinte não tem direito a dedução. Só um dos campos deductibleVATPercentage e nonDeductibleAmount poderá estar preenchido. |
nonDeductibleAmount |
number |
“minimum”: 0 |
Não |
Valor do documento que não é sujeito a dedução de IVA. Este campo deve ser preenchido sempre que parte do montante da fatura não possa ser deduzido pelo contribuinte (ex.: despesas não dedutíveis fiscalmente, limites legais ou situações específicas previstas na legislação). Caso este campo não seja preenchido, será considerado que a totalidade do valor do documento é dedutível. Só um dos campos deductibleVATPercentage e nonDeductibleAmount poderá estar preenchido. |
Parâmetros de Saída
| HTTP code | Tipo (JSON) | Descrição |
|---|---|---|
200 |
object confirmRejectResult |
Registo de pedido efectuado com sucesso sendo devolvido um object do tipo statusFEResult com os dados da factura pesquisada. |
422 |
Object errorEntry |
Chamada ocorreu com erro, sendo enviado uma mensagem (código e descrição) correspondente ao erro “E94” - “erro na chamada, nif diferente” |
400 |
Object errorEntry |
Chamada ocorreu com erro, sendo enviado uma mensagem (código e descrição) correspondente ao erro “E96” - “solicitação mal efectuada – erro de estrutura” |
Composição (properties) do object confirmRejectResult
| Campo | Tipo (JSON) | Atributos | Obrigatório | Descrição |
|---|---|---|---|---|
actionResultCode |
string |
“minlength” : 4 “maxlength”: 5 |
Sim |
Código de resultado da solicitação, com os seguintes valores possíveis e significados:
|
documentStatusCode |
string |
“minlength” : 3 “maxlength”: 4 |
Sim |
Código de estado em que o documento a actualizar foi encontrado antes de tentada a realização desta acção, com os seguintes valores possíveis e significados:
|
errorList |
array |
N/A |
Não |
Array com os erros encontrados que impediram a execução com sucesso da acção solicitada (confirmação ou rejeição do documento) sobre o documento de facturação identificado no campo documentNo, sendo obrigatório quando actionResultCode for “C_NOK” ou “R_NOK”. Terá uma linha para cada erro encontrado. |
Códigos e mensagens de erro no retorno do Serviço
Tendo em conta as regras de negócio, são propostos adicionalmente os seguintes erros de validação:
| Regra de negócio | Código de erro | Descrição de erro |
|---|---|---|
FE-RNG-033 |
E44 |
O estado do documento de facturação não permite a acção de confirmação do documento pelo adquirente. |
FE-RNG-034 |
E45 |
O estado do documento de facturação não permite a acção de rejeição do documento pelo adquirente. |
FE-RNG-077 |
E47 |
O campo “deductibleVATPercentage” (<valor do parâmetro>) não pode estar especificado simultaneamente com o campo “nonDeductibleAmount” (<valor do parâmetro>). |