Sign (stamp) an invoice
Stamp (timbrar) a draft invoice through the PAC. When billing is on this debits the stamp price from the caller's credit first (see get_account_credit): a credit that does not cover it answers insufficient_balance and nothing is stamped; a failed stamp is credited back. The deployment, not an argument, decides whether stamps are real CFDIs or PAC test stamps, except that an issuer using a SAT test CSD or a document addressed to a SAT test RFC is stamped in the sandbox: no credit is charged and no balance is needed. Every successful result reports which in ambiente ("produccion" or "prueba"); get_cfdi and list_cfdi carry the same ambiente for signed invoices. expected_version is the version last read; a stale version answers a conflict with the current version. A type I draft without a Receptor cannot be signed (invalid_argument, receptor_missing). A Fecha more than 72 hours old is replaced by the current Mexico City time. The stored amounts are signed exactly as saved. Drafts only, invoices and payment complements alike (signing a complement locks the paid PPD invoices and revalidates their balance: a stale one answers invalid_argument with payment_balance). Returns the signed invoice in the get_cfdi shape (timbre.uuid and timbre.fecha_timbrado set), including downloads (permanent XML and PDF links, see get_cfdi), plus ambiente, or a needs_csd status if the issuer has no CSD.
Alcance (scope): invoices:write · Características: Destructiva, Interactúa con el mundo exterior
Parámetros¶
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
invoice_id |
string | Sí | |
expected_version |
integer | Sí | |
issuer |
string | Sí | Id of the issuer the call acts for, from list_issuers. |
Esquema de entrada (JSON Schema)¶
{
"type": "object",
"properties": {
"invoice_id": {
"type": "string"
},
"expected_version": {
"type": "integer",
"minimum": 1
},
"issuer": {
"type": "string",
"format": "uuid",
"description": "Id of the issuer the call acts for, from list_issuers."
}
},
"required": [
"invoice_id",
"expected_version",
"issuer"
]
}