Issue debit note
A debit note ("nota de débito") adds charges to an authorized invoice, such as late payment interest or expenses. Name the invoice in modified_document (by document_id when it was issued in Fiscalbase, otherwise by number and issue_date), and give the buyer, the reasons (each what is charged, its amount and its taxes) and the payments.
Issuing numbers the document, stores it and queues it to be signed and sent to the SRI, all at once: the issue date is today in Ecuador. The status then advances on its own (pending, submitted, then authorized, returned or not_authorized): send wait to answer once the SRI decides, or retrieve it or receive a webhook. A refused document says why in sri_messages, each with its remedy. Check the body first with POST /v1/ec/debit-notes/preview, which spends no number, and pass its preview_id to issue exactly what was previewed. Send an Idempotency-Key to retry without duplicating.
Your API key, which acts for the one business it was created for: fb_sandbox_… issues in sandbox, fb_test_… in test, the tax authority's testing service, and fb_live_… in live.
In: header
Query Parameters
Seconds, up to 25, to wait for the SRI's decision before answering: the answer comes as soon as the document leaves pending and submitted (authorized, returned or not_authorized), or when the time runs out, still undecided. Without it, at once. The SRI usually decides within seconds; when it is slow, keep the webhook or retrieve the document later.
0 <= value <= 25The preview_id of POST /v1/ec/debit-notes/preview for this same body: if the body isn't the one previewed, or the preview is from an earlier day, nothing is issued and the answer is 409 preview_mismatch.
^[0-9a-f]{64}$Header Parameters
1 <= length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The issue date is always today in Ecuador: documents are transmitted when issued.
1 <= items1 <= itemsIVA refunded to an older adult (valorDevolucionIva, annex 20), by rate, as the SRI's DIG service authorized it. It is subtracted from the total; the buyer must identify with a cedula.
The fiscal machine the document is issued from (annex 13). Only when one issues it.
[]The establishment whose series numbers it, such as 001. Without it, the first active series of the document type.
^\d{3}$The emission point of that establishment, such as 001. Without it, the first active one.
^\d{3}$Up to 20 pairs of your own, such as your order id, returned as sent and never interpreted; lists filter by them (metadata[key]=value).
{}Only with a sandbox key (422 in test and live, where the SRI decides): the outcome the simulator gives this revision, to rehearse how your system handles each one. Without it, it is authorized.
Response Body
application/json
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/v1/ec/debit-notes" \ -H "Content-Type: application/json" \ -d '{ "buyer": { "identification_type": "ruc", "identification": "string", "name": "string", "email": "user@example.com" }, "modified_document": { "document_id": "b792e8ae-2cb4-4209-85b9-32be4c2fcdd6" }, "reasons": [ { "description": "string", "amount": "string", "taxes": [ { "type": "iva", "rate": "iva_15" } ] } ], "payments": [ { "method": "sin_sistema_financiero" } ] }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "country": "ec", "currency": "string", "environment": "sandbox", "status": "pending", "status_transitions": { "pending": "2019-08-24T14:15:22Z", "submitted": "2019-08-24T14:15:22Z", "authorized": "2019-08-24T14:15:22Z", "returned": "2019-08-24T14:15:22Z", "not_authorized": "2019-08-24T14:15:22Z", "annulled": "2019-08-24T14:15:22Z" }, "entity_id": "8161163a-f227-466f-bc01-090a01e80165", "number": "string", "access_key": "stringstringstringstringstringstringstringstrings", "authorization": { "number": "string", "authorized_at": "2019-08-24T14:15:22Z" }, "sri_messages": [ { "code": "string", "message": "string", "detail": "string", "type": "error", "cause": "string", "remedy": "string" } ], "metadata": { "property1": "string", "property2": "string" }, "issued_at": "2019-08-24T14:15:22Z", "delivery_status": "sent", "emails": [ { "to": "string", "status": "sent", "sent_at": "2019-08-24T14:15:22Z", "delivered_at": "2019-08-24T14:15:22Z", "opened_at": "2019-08-24T14:15:22Z", "bounced_at": "2019-08-24T14:15:22Z", "complained_at": "2019-08-24T14:15:22Z", "bounce_type": "permanent" } ], "portal_views": 0, "portal_last_viewed_at": "2019-08-24T14:15:22Z", "channel": "api", "import_id": "13230382-dadc-41f2-963d-e123bd5c0585", "verification": "sri", "listing": { "import_id": "13230382-dadc-41f2-963d-e123bd5c0585", "file": "string", "entry": "string", "sha256": "stringstringstringstringstringstringstringstringstringstringstri", "line": 1, "authorized_at": "2019-08-24T14:15:22Z" }, "object": "debit_note", "issue_date": "string", "buyer": { "identification_type": "ruc", "identification": "string", "name": "string", "address": "string", "email": "string" }, "modified_document": { "document_type": "factura", "number": "string", "issue_date": "2019-08-24" }, "reasons": [ { "description": "string", "amount": "string", "taxes": [ { "type": "iva", "rate": "iva_15", "base": "string", "value": "string" } ] } ], "taxes": [ { "type": "iva", "rate": "iva_15", "base": "string", "value": "string", "additional_discount": "string", "refund": "string" } ], "subtotal": "string", "iva": "string", "ice": "string", "irbpnr": "string", "total": "string", "payments": [ { "method": "sin_sistema_financiero", "amount": "string", "term": { "length": 0, "unit": "days" } } ], "compensations": [ { "code": "string", "rate": "string", "value": "string" } ], "fiscal_machine": { "brand": "string", "model": "string", "serial": "string" }, "additional_info": [ { "name": "string", "value": "string" } ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}Record the annulment of debit note POST
Only records an annulment you already made in the SRI's online portal; it does not request it from the SRI. The document goes to `annulled`, keeps its files, leaves your customer's portal and `<object>.annulled` is sent to your webhooks. Only for an `authorized` one, and never for one issued to a `consumidor_final` buyer, which the SRI does not annul.
List debit notes GET
From newest to oldest, in your key's environment.