Recibos de Venda
Criação de recibos
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.
1. Criar Cabeçalho do Recibo de Venda
Já tem de exisitir um Documento de Venda Finalizado
Para mais informações consulte: 3. Finalização do documento
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
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
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.
2. Criar Linha do Documento de Venda:
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
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
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
}
}
}
3. Anular Recibo de Venda
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)
Last updated