Documentação API
  • Introdução
  • Setup
  • Autenticação
  • Autenticação ( Authorization Code Flow )
  • Caraterísticas dos pedidos
  • API-v1
    • Introdução à API v1
    • Documentos de venda
    • Notas de venda
    • Notas de liquidação de venda
    • Recibos
    • Documentos de compra
    • Notas de compra
    • Notas de liquidação de compra
    • Pagamentos
    • Documentos e notas de venda no regime de Balcão Único do IVA (OSS)
  • API-v0
    • Introdução à API v0
    • Clientes
    • Fornecedores
    • Contactos
    • Moradas
    • Produtos e serviços
    • Documentos de venda
    • Recibos
    • Descarregar PDF de documentos e recibos
    • Envio de documentos e recibos por email
    • Documentos de compra
    • Pagamentos
    • Anexar ficheiros
    • Comunicação de documentos à AT
  • Contabilidade
    • Consulta de lançamentos
    • Criação de lançamentos
    • Alteração de lançamentos
    • Eliminação de lançamentos
    • Lançamentos com analítica
    • Lançamentos com fluxos de caixa
    • Relação com outros recursos
    • Pedidos com várias operações
    • Relatórios
    • Configurações
  • Configurações globais
Powered by GitBook
On this page
  1. Contabilidade

Criação de lançamentos

PreviousConsulta de lançamentosNextAlteração de lançamentos

Last updated 23 days ago

Os lançamentos, semelhantes aos documentos comerciais, são constituídos por:

  1. Um cabeçalho

  2. Duas ou mais linhas

Criação do lançamento (cabeçalho)

De modo a criar um lançamento, deverá ser efetuado um pedido com informação do cabeçalho do mesmo. No momento de criação do lançamento é automaticamente adicionada uma linha, que se não for utilizada e estiver vazia quando o lançamento for finalizado, será automaticamente removida durante a finalização do lançamento. Para este efeito, deverá realizar o seguinte pedido:

curl -v -X POST \
-H 'Content-Type: application/vnd.api+json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-d '<payload JSON>' '<API_URL>/accounting_transaction'

No pedido acima, o <access_token> corresponde ao token de acesso válido devolvido pelo serviço de OAuth. O pedido de criação do lançamento deve ser feito de acordo com a seguinte especificação:

Criação de linha de lançamento

De modo a adicionar uma linha a um lançamento, deverá realizar o seguinte pedido:

curl -v -X POST \
-H 'Content-Type: application/vnd.api+json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-d '<payload JSON>' '<API_URL>/accounting_transaction_lines'

No pedido acima, o <access_token> corresponde ao token de acesso válido devolvido pelo serviço de OAuth. O pedido de criação de uma linha de lançamento deve ser feito de acordo com a seguinte especificação:

Criação de sugestão para documento comercial

Os documentos comerciais podem ter lançamentos de contabilidade associados através da funcionalidade de sugestão de lançamentos, disponível na rota /set_suggestions_for_document_on_fiscal_year. Para gerar uma sugestão de lançamento de um documento finalizado deve ser passada o parâmetro operation=create e para lançamentos anulados o parâmetro operation=destroy.

Duplicação de lançamento

Qualquer lançamento pode ser duplicado fazendo um pedido à rota /duplicate_transaction , que tem a seguinte especificação:

Criação de estorno

Se for necessário criar um estorno para um lançamento finalizado, é possível utilizar a API fazendo um pedido à rota /reverse_transaction que executa essa ação, tendo o pedido a seguinte especificação:

get
Query parameters
filter[document_id]stringRequired

Identificador do documento comercial

Example: 1
filter[document_type]stringRequired

Tipo de documento comercial

Example: FT
filter[document_no]stringRequired

Número do documento comercial

Example: FT 2024/1
filter[operation]string · enumRequired

Tipo de operação a realizar, create para criar a sugestão, e destroy para anular a sugestão existente.

Possible values:
filter[finalize]booleanRequired

Tentar finalizar a sugestão gerada

Example: true
Responses
200
OK
application/json
get
GET /set_suggestions_for_document_on_fiscal_year?filter[document_id]=1&filter[document_type]=FT&filter[document_no]=FT+2024%2F1&filter[operation]=create&filter[finalize]=true HTTP/1.1
Host: 
Accept: */*
200

OK

{
  "data": []
}
get
Query parameters
filter[transaction_id]stringRequired

Identificador do lançamento a duplicar

Example: 1
Responses
200
OK
application/json
get
GET /duplicate_transaction?filter[transaction_id]=1 HTTP/1.1
Host: 
Accept: */*
200

OK

{
  "data": []
}
get
Query parameters
filter[transaction_id]stringRequired

Identificador do lançamento a estornar

Example: 1
Responses
200
OK
application/json
get
GET /reverse_transaction?filter[transaction_id]=1 HTTP/1.1
Host: 
Accept: */*
200

OK

{
  "data": []
}
  • Criação do lançamento (cabeçalho)
  • POST/accounting_transactions
  • Criação de linha de lançamento
  • POST/accounting_transaction_lines
  • Criação de sugestão para documento comercial
  • GET/set_suggestions_for_document_on_fiscal_year
  • Duplicação de lançamento
  • GET/duplicate_transaction
  • Criação de estorno
  • GET/reverse_transaction
post
Body
Responses
200
OK
application/json
post
POST /accounting_transactions HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 503

{
  "data": {
    "type": "accounting_transactions",
    "attributes": {
      "status": "draft",
      "transaction_date": "2024-01-01",
      "document_date": "2023-12-10",
      "description": "Lançamento novo via API",
      "external_reference": "D20236712",
      "currency_conversion_rate": 1.21,
      "third_party_control_id": "CLIENTE",
      "third_party_entity_id": 20
    },
    "relationships": {
      "accounting_document_type": {
        "data": {
          "type": "accounting_document_types",
          "id": "DP"
        }
      },
      "currency": {
        "data": {
          "type": "text",
          "id": "text"
        }
      },
      "journal": {
        "data": {
          "type": "journals",
          "id": "BNC"
        }
      }
    }
  }
}
200

OK

{
  "data": {
    "type": "accounting_transactions",
    "id": "1",
    "attributes": {
      "status": "draft",
      "transaction_date": "2024-01-01",
      "document_date": "2023-12-10",
      "description": "Lançamento novo via API",
      "external_reference": "D20236712",
      "currency_conversion_rate": 1.21,
      "third_party_control_id": "CLIENTE",
      "third_party_entity_id": 20,
      "created_at": "2024-01-01 10:20:30.123456",
      "finalized_at": null,
      "journal_entry": null,
      "document_no": null,
      "accounting_document_series_no": 1,
      "debit_total_fiscal_currency": 0,
      "credit_total_fiscal_currency": 0,
      "debit_total_document_currency": 0,
      "credit_total_document_currency": 0,
      "accountable_id": null,
      "accountable_document_type": null,
      "accountable_document_no": null
    },
    "relationships": {
      "accounting_document_series": {
        "data": null
      },
      "accounting_document_type": {
        "data": {
          "type": "accounting_document_types",
          "id": "DP"
        }
      },
      "currency": {
        "data": {
          "type": "currency",
          "id": "1"
        }
      },
      "journal": {
        "data": {
          "type": "journals",
          "id": "BNC"
        }
      },
      "lines": {
        "data": [
          {
            "type": "text",
            "id": "text"
          }
        ]
      },
      "user": {
        "data": {
          "type": "users",
          "id": "1"
        }
      }
    }
  }
}
post
Body
Responses
200
OK
application/json
post
POST /accounting_transaction_lines HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 591

{
  "data": {
    "type": "accounting_transaction_lines",
    "attributes": {
      "seqno": 0,
      "transaction_id": 1,
      "account_id": 11001,
      "description": "Linha de lançamento nova via API",
      "debit_amount": 10.5,
      "credit_amount": 20,
      "debit_expression": "9+1.5",
      "credit_expression": "10*2",
      "cost_dimension_id": 1
    },
    "relationships": {
      "account": {
        "data": {
          "type": "general_ledger",
          "id": "1"
        }
      },
      "transaction": {
        "data": {
          "type": "accounting_transactions",
          "id": "1"
        }
      },
      "vat_code": {
        "data": {
          "type": "vat_codes",
          "id": "1"
        }
      },
      "cost_dimension": {
        "data": {
          "type": "cost_dimensions",
          "id": "0101"
        }
      },
      "transaction_line_cash_flows": [],
      "transaction_line_costs": []
    }
  }
}
200

OK

{
  "data": {
    "type": "accounting_transaction_lines",
    "id": "1",
    "attributes": {
      "seqno": 0,
      "transaction_id": 1,
      "account_id": 11001,
      "description": "Linha de lançamento nova via API",
      "debit_amount": 10.5,
      "credit_amount": 20,
      "debit_expression": "9+1.5",
      "credit_expression": "10*2",
      "cost_dimension_id": 1
    },
    "relationships": {
      "account": {
        "data": {
          "type": "general_ledger",
          "id": "1"
        }
      },
      "transaction": {
        "data": {
          "type": "accounting_transactions",
          "id": "1"
        }
      },
      "vat_code": {
        "data": {
          "type": "vat_codes",
          "id": "1"
        }
      },
      "cost_dimension": {
        "data": {
          "type": "cost_dimensions",
          "id": "0101"
        }
      },
      "transaction_line_cash_flows": [],
      "transaction_line_costs": []
    }
  }
}