Recibos
O atual capítulo tem como objetivo descrever as rotas da API responsáveis pela gestão de recibos
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. Criação do cabeçalho do recibo
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
OK
POST /commercial_sales_receipts HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 758
{
"data": {
"type": "commercial_sales_receipts",
"attributes": {
"id": 1,
"date": "text",
"document_no": "text",
"document_series_id": 1,
"payment_mechanism": "text",
"gross_total": 1,
"net_total": 1,
"third_party_type": "text",
"third_party_id": 1
},
"relationships": {
"bank_accounts": {
"data": {
"resource": "bank_accounts"
}
},
"cash_accounts": {
"data": {
"resource": "cash_accounts"
}
},
"company": {
"data": {
"resource": "current_company"
}
},
"commercial_document_series": {
"data": {
"resource": "commercial_document_series"
}
},
"country": {
"data": {
"resource": "countries"
}
},
"customer": {
"data": {
"resource": "customers"
}
},
"currency": {
"data": {
"resource": "currencies"
}
},
"user": {
"data": {
"resource": "current_company_users"
}
},
"lines": {
"data": {
"table": "receipt_lines",
"resource": "commercial_sales_receipt_lines"
}
}
}
}
}OK
{
"data": {
"type": "commercial_sales_receipts",
"id": null,
"attributes": {
"id": 1,
"date": "text",
"document_no": "text",
"document_series_id": 1,
"payment_mechanism": "text",
"gross_total": 1,
"net_total": 1,
"third_party_type": "text",
"third_party_id": 1
},
"relationships": {
"bank_accounts": {
"data": {
"resource": "bank_accounts"
}
},
"cash_accounts": {
"data": {
"resource": "cash_accounts"
}
},
"company": {
"data": {
"resource": "current_company"
}
},
"commercial_document_series": {
"data": {
"resource": "commercial_document_series"
}
},
"country": {
"data": {
"resource": "countries"
}
},
"customer": {
"data": {
"resource": "customers"
}
},
"currency": {
"data": {
"resource": "currencies"
}
},
"user": {
"data": {
"resource": "current_company_users"
}
},
"lines": {
"data": {
"table": "receipt_lines",
"resource": "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
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.
NOTA 1: A série associada ao recibo tem já que existir, e o seu "id" interno deve ser obtido por um
NOTA 2: O "id" interno da conta bancária da empresa deve ser obtido por um
NOTA 3: O "id" interno da conta de caixa da empresa deve ser obtido por um
2. Criação da linha do recibo a liquidar o documento de venda associado:
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
OK
POST /commercial_sales_receipt_lines HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 574
{
"data": {
"type": "commercial_sales_receipt_lines",
"attributes": {
"receipt_id": 1,
"receivable_type": "text",
"receivable_id": 1,
"received_value": 1,
"settlement_percentage": 1,
"cashed_vat_amount": 1,
"gross_total": 1,
"settlement_amount": 1,
"net_total": 1,
"retention_total": 1
},
"relationships": {
"receipt": {
"data": {
"resource": "commercial_sales_receipts"
}
},
"commercial_sales_document": {
"data": {
"table": "receipt_lines",
"resource": "commercial_sales_documents"
}
},
"commercial_internal_sales_document_line": {
"data": {
"table": "receipt_lines",
"resource": "commercial_internal_sales_document_lines"
}
}
}
}
}OK
{
"data": {
"type": "commercial_sales_receipt_lines",
"id": null,
"attributes": {
"receipt_id": 1,
"receivable_type": "text",
"receivable_id": 1,
"received_value": 1,
"settlement_percentage": 1,
"cashed_vat_amount": 1,
"gross_total": 1,
"settlement_amount": 1,
"net_total": 1,
"retention_total": 1
},
"relationships": {
"receipt": {
"data": {
"resource": "commercial_sales_receipts"
}
},
"commercial_sales_document": {
"data": {
"table": "receipt_lines",
"resource": "commercial_sales_documents"
}
},
"commercial_internal_sales_document_line": {
"data": {
"table": "receipt_lines",
"resource": "commercial_internal_sales_document_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
NOTA 1: O "id" interno do documento (fatura, nota) a receber deve ser obtido por um
3. (Caso seja preciso) Anulação de um recibo:
Os detalhes do pedido POST para a criação de recibos estão descritos de seguida, em formato OpenAPI, e em cURL.
OK
PATCH /commercial_sales_receipts HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 770
{
"data": {
"type": "commercial_sales_receipts",
"attributes": {
"id": 1,
"date": "text",
"document_no": "text",
"document_series_id": 1,
"payment_mechanism": "text",
"gross_total": 1,
"net_total": 1,
"third_party_type": "text",
"third_party_id": 1
},
"relationships": {
"bank_accounts": {
"data": {
"resource": "bank_accounts"
}
},
"cash_accounts": {
"data": {
"resource": "cash_accounts"
}
},
"company": {
"data": {
"resource": "current_company"
}
},
"commercial_document_series": {
"data": {
"resource": "commercial_document_series"
}
},
"country": {
"data": {
"resource": "countries"
}
},
"customer": {
"data": {
"resource": "customers"
}
},
"currency": {
"data": {
"resource": "currencies"
}
},
"user": {
"data": {
"resource": "current_company_users"
}
},
"lines": {
"data": {
"table": "receipt_lines",
"resource": "commercial_sales_receipt_lines"
}
}
},
"id": "text"
}
}OK
{
"data": {
"type": "commercial_sales_receipts",
"id": null,
"attributes": {
"id": 1,
"date": "text",
"document_no": "text",
"document_series_id": 1,
"payment_mechanism": "text",
"gross_total": 1,
"net_total": 1,
"third_party_type": "text",
"third_party_id": 1
},
"relationships": {
"bank_accounts": {
"data": {
"resource": "bank_accounts"
}
},
"cash_accounts": {
"data": {
"resource": "cash_accounts"
}
},
"company": {
"data": {
"resource": "current_company"
}
},
"commercial_document_series": {
"data": {
"resource": "commercial_document_series"
}
},
"country": {
"data": {
"resource": "countries"
}
},
"customer": {
"data": {
"resource": "customers"
}
},
"currency": {
"data": {
"resource": "currencies"
}
},
"user": {
"data": {
"resource": "current_company_users"
}
},
"lines": {
"data": {
"table": "receipt_lines",
"resource": "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
NOTA 1: O "id" interno do recibo a anular deve ser obtido por um
É 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