Recibos de Venda
Last updated
Last updated
Cada recibo é constituído por:
Um cabeçalho
Uma ou mais linhas
O recibo não possui um estado "em preparação".
Um recibo pode ser (3.) anulado.
Já tem de exisitir um Documento de Venda Finalizado
Para mais informações consulte:
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
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>/commercial_sales_receipts'
No pedido acima, o <access_token> corresponde ao token de acesso válido devolvido pelo serviço de OAuth, e o <payload JSON> deverá ter o seguinte formato
{
"data": {
"type": "commercial_sales_receipts", // [OBRIGATÓRIO]
"attributes": {
"date": "2020-06-01", // [OPCIONAL] Data do recibo; por omissão, a data do pedido
"payment_mechanism": "MO", // [OPCIONAL] Meios de pagamento aceites: "MO": Numerário, "CH": Cheque, "DC": Cartão de débito, "CC": Cartão de crédito, "TR": Transferência bancária, "DDA": Débito direto autorizado, "MB": Referências de pagamento Multibanco.
"document_series_id": <id do documento de série>, // [OPCIONAL] Série de recibos associada. Não precisa de ser indicada; por omissão o recibo é criado na série por omissão associada ao tipo de documento. Vd. Nota 1
"bank_account_id": <id da conta bancária>,// [OPCIONAL] Conta bancária da empresa para onde o recebimento é feito. Usado apenas quando o meio de pagamento é "DC", "CC", "TR" ou "DDA", e apenas se for necessário indicar uma conta bancária específica. Vd. Nota 2
"cash_account_id": <id da caixa> // [OPCIONAL] Conta de caixa da empresa para onde o recebimento é feito. Usado apenas quando o meio de pagamento é "MO", e apenas se for necessário indicar uma conta de caixa específica. Vd. Nota3
}
}
}
Após criar o cabeçalho, a resposta TEM QUE ser consultada para obtenção do identificador interno ("id") do recibo criado. Este identificador será necessário para a criação de todas as linhas.
Quando um documento é finalizado este vai gerar um número do documento com a estrutura [TIPO ANO/NUMERO] através deste poderá executar um filtro nos documentos de série para encontrar o seu documento.
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
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>/commercial_sales_receipt_lines'
No pedido acima, o <access_token> corresponde ao token de acesso válido devolvido pelo serviço de OAuth, e o <payload JSON> deverá ter o seguinte formato
{
"data": {
"type": "commercial_sales_receipt_lines", // [OBRIGATÓRIO]
"attributes": {
"receivable_type": "Document", // [OBRIGATÓRIO]
"receivable_id": "<id do documento a liquidar>", // [OBRIGATÓRIO] Vd. Nota 1
"received_value": 50, // [OBRIGATÓRIO] Valor total a receber (não é necessário receber a totalidade do documento, pode fazer-se um recebimento parcial)
"settlement_percentage": "3" // [OPCIONAL] Desconto de pagamento, em percentagem; são suportados descontos compostos, como "3+5"
"receipt_id" : "<id do recibo>" // [OBRIGATÓRIO] Recibo a que esta linha pertence. Este "id" é o devolvido na resposta ao pedido de criação do cabeçalho, ver acima
}
}
}
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
curl -v -X PATCH -H 'Content-Type: application/vnd.api+json' -H 'Accept: application/json' -H 'Authorization: Bearer <access_token>' -d '<payload JSON>' '<API_URL>/commercial_sales_receipts/'
No pedido acima, o <access_token> corresponde ao token de acesso válido devolvido pelo serviço de OAuth, e o <payload JSON> deverá ter o seguinte formato
{
"data": {
"type": "commercial_sales_receipts",
"id": "3", //id do recibo de venda pretendido
"attributes": {
"deleted": true
}
}
}
É na linha do recibo que se indica qual o documento (FT, ou outro) que foi pago.
Se necessário, pode criar-se mais do que uma linha (e nesse caso o recibo é emitido de uma só vez para todos os documentos referenciados)
Criar Cabeçalho de Recibo de Venda
POST /api/commercial_sales_receipts HTTP/1.1
Host: {{base_url}}
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 161
{
"data": {
"attributes": {
"date": "2025-06-01",
"document_series_id": 66,
"gross_total": 10,
"net_total": 20,
"payment_mechanism": "MO"
},
"type": "commercial_sales_receipts"
}
}
No content
Adicionar Linha a Recibo de Venda
POST /api/commercial_sales_receipt_lines HTTP/1.1
Host: {{base_url}}
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 285
{
"data": {
"attributes": {
"cashed_vat_amount": null,
"gross_total": 10.69,
"net_total": 9.27,
"receipt_id": 13,
"receivable_id": 12,
"receivable_type": "Document",
"received_value": 10.69,
"retention_total": 0.72,
"settlement_amount": 0,
"settlement_percentage": 0
},
"type": "commercial_sales_receipt_lines"
}
}
No content