Skip to main content
Credits and cancellations are related but different operations. A credit can issue a new CFDI or request cancellation of a parent. A cancellation never overwrites the original issuance file.

Credit paths

A full-value parent-cancellation path does not create a separate credit XML or PDF. A Tipo E path does.

Parent checks

Before choosing a path, Lambda checks the parent identity, SAT UUID, currency, total, relationship, and current lifecycle.
  • A credit amount cannot exceed the parent total.
  • A partial credit needs a usable parent SAT UUID.
  • Active payment complements block a credit that would change the parent balance.
  • A partial credit against a cancelled parent is blocked.
  • A full-value credit can close a matching credit record when the parent was already cancelled. It does not issue a second credit CFDI.
  • An externally stamped parent cannot be cancelled by Lambda. A related Tipo E alternative can be used only when its route is enabled and its parent evidence is usable.

Full-value parent cancellation

When enabled, Lambda requests SAT motive 02 for a full-value credit against a Lambda-owned parent. After acceptance:
  1. The parent becomes Cancelled.
  2. The linked credit becomes Credit completed.
  3. The cancellation XML is stored as a separate artifact.
  4. No credit XML or PDF is created for this path.
If the cancellation route is disabled, Lambda can use the Tipo E route when it is enabled and the parent SAT evidence supports it. If neither safe path is available, Lambda records the configuration or reconciliation failure.

Direct cancellation

You can cancel only a Lambda-owned, Facturapi-backed stamped invoice. Lambda blocks cancellation when:
  • the invoice is not stamped or is already cancelled
  • a cancellation is already active
  • the invoice was stamped externally
  • active child REPs still depend on the parent
Some cancellations need receiver acceptance. The workspace remains Cancellation in progress while SAT or the receiver decides. Accepted, rejected, expired, and failed results remain distinct. An accepted cancellation stores an independent cancellation XML. A rejected or expired request leaves the original CFDI issued.

CargoWise receipt reversals

A receipt reversal is not a negative payment. CargoWise must send a paired batch with:
  • exactly one positive cancelled reversal receipt and one negative cancelled original receipt
  • opposite amounts with the same absolute value
  • the same currency, customer, and payment reference
  • a reversal description that identifies the original receipt
Lambda validates the pair and records the command. It then chooses the safe target: CargoWise reason codes such as DCR or operational text do not select the SAT motive. Current product policy uses motive 03 for every validated receipt reversal. See Files and delivery for cancellation artifacts and Statuses for the lifecycle labels.