Saltar a contenido

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"
  ]
}