> ## Documentation Index
> Fetch the complete documentation index at: https://docs.transitive.app/llms.txt
> Use this file to discover all available pages before exploring further.

# data_missing

> A value that the CFDI needs is empty in the CargoWise document.

The status is **Failed**.

> **Product code on line 3 (Freight) is missing** `data_missing`
>
> The product code (CargoWise GovernmentReportingChargeCode, SAT ClaveProdServ) on line 3 (Freight) is empty. The CFDI needs this value.

## What it means

The message names the field, where it is in the document, and the check that failed. The tables below give each field that can be missing, and each check.

## How to correct it

Correct the value in CargoWise. Then send the document again, or stamp it by hand.

## Totals and header

The totals, the currency and the payment method of an invoice or a credit note.

### Total

CargoWise field: `OSTotal`. SAT field: `Total`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Currency

CargoWise field: `OSCurrency`. SAT field: `Moneda`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Exchange rate

CargoWise field: `ExchangeRate`. SAT field: `TipoCambio`.

| Check | Rule |
| - | - |
| `foreign_currency_rate` | A document in a currency other than MXN needs its exchange rate. |
| SAT CFDI40115 | A document in a currency other than MXN needs its exchange rate to MXN. |

### Payment method

SAT field: `MetodoPago`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Due date

CargoWise field: `DueDate`.

| Check | Rule |
| - | - |
| `method_from_dates` | Transitive reads the payment method of a credit note from its DueDate and PostDate. The same day gives PUE and a later DueDate gives PPD. |

### Post date

CargoWise field: `PostDate`.

| Check | Rule |
| - | - |
| `method_from_dates` | Transitive reads the payment method of a credit note from its DueDate and PostDate. The same day gives PUE and a later DueDate gives PPD. |

## Debtor

The data of the debtor that the CFDI must carry.

### CFDI use

SAT field: `UsoCFDI`.

| Check | Rule |
| - | - |
| SAT rule | The SAT refused the value. The message gives the number of the rule. |

### Debtor RFC

SAT field: `Receptor Rfc`.

| Check | Rule |
| - | - |
| SAT rule | The SAT refused the value. The message gives the number of the rule. |

### Debtor legal name

SAT field: `Receptor Nombre`.

| Check | Rule |
| - | - |
| SAT rule | The SAT refused the value. The message gives the number of the rule. |

### Debtor postal code

SAT field: `DomicilioFiscalReceptor`.

| Check | Rule |
| - | - |
| SAT rule | The SAT refused the value. The message gives the number of the rule. |

### Debtor tax regime

SAT field: `RegimenFiscalReceptor`.

| Check | Rule |
| - | - |
| SAT rule | The SAT refused the value. The message gives the number of the rule. |

## Lines

Each line of an invoice or a credit note.

### Product code

CargoWise field: `GovernmentReportingChargeCode`. SAT field: `ClaveProdServ`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Data that the product code requires

| Check | Rule |
| - | - |
| SAT rule | The SAT refused the value. The message gives the number of the rule. |

### VAT

SAT field: `Traslado Importe`.

| Check | Rule |
| - | - |
| `other_lines_taxed` | Other lines of this invoice carry VAT, so this line must carry VAT too. |

### Line taxes

SAT field: `Impuestos`.

| Check | Rule |
| - | - |
| SAT CFDI40173 | A taxes node must carry at least one tax charged or withheld. Only on **Stamp by hand**. |

### Income tax (ISR) withholding

SAT field: `Retencion Impuesto`.

| Check | Rule |
| - | - |
| SAT CFDI140225 | An issuer in the RESICO regime must withhold 1.25% income tax (ISR) on this line. Only on **Stamp by hand**. |

## Receipts and payments

A receipt, its payments and the invoices that it pays. The <Tooltip tip="Payment complement. A CFDI that records a payment on a PPD invoice.">REP</Tooltip> uses these data.

### Payment date

SAT field: `FechaPago`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Payment form

SAT field: `FormaDePagoP`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Payment exchange rate

CargoWise field: `ExchangeRate`. SAT field: `TipoCambioP`.

| Check | Rule |
| - | - |
| SAT CRP20214 | A payment in a currency other than MXN needs its exchange rate to MXN. |

### Payer bank name

SAT field: `NomBancoOrdExt`.

| Check | Rule |
| - | - |
| SAT CRP20223 | A foreign payer bank RFC (XEXX010101000) needs the name of the bank. Only on **Stamp by hand**. |

### Payment certificate

SAT field: `CertPago`.

| Check | Rule |
| - | - |
| SAT CRP20230 | A payment chain type (TipoCadPago) needs its certificate. Only on **Stamp by hand**. |

### Payment chain

SAT field: `CadPago`.

| Check | Rule |
| - | - |
| SAT CRP20232 | A payment chain type (TipoCadPago) needs its chain. Only on **Stamp by hand**. |

### Payment seal

SAT field: `SelloPago`.

| Check | Rule |
| - | - |
| SAT CRP20234 | A payment chain type (TipoCadPago) needs its seal. Only on **Stamp by hand**. |

### Amount paid

CargoWise field: `OSTotal`. SAT field: `Monto`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Invoices paid

SAT field: `DoctoRelacionado`.

| Check | Rule |
| - | - |
| `applies_to_invoice` | At least one line of the receipt must apply an amount to an invoice that can receive a payment complement. |

### Applied amount

CargoWise field: `OSPaidAmount`. SAT field: `ImpPagado`.

| Check | Rule |
| - | - |
| `required` | The CFDI needs this value. |

### Amount in the invoice currency

SAT field: `EquivalenciaDR`.

| Check | Rule |
| - | - |
| `rate_between_currencies` | The payment and the invoice are in different currencies, so the CFDI needs the amount in the invoice currency. |
| SAT CRP20237 | When the invoice and the payment are in different currencies, the payment needs the conversion rate to the invoice currency. Only on **Stamp by hand**. |

### Outstanding amount

CargoWise field: `OutstandingAmount`.

| Check | Rule |
| - | - |
| `balance_evidence` | Transitive needs this value to prove the balance of the invoice before the payment. |

### Taxes

SAT field: `ImpuestosDR`.

| Check | Rule |
| - | - |
| `carries_invoice_taxes` | The stamped CFDI of the invoice has taxes, so the payment must carry each of them. |
| `tax_rate_and_factor` | Each tax of the payment needs its rate and its factor. |
| SAT CRP20246 | An invoice subject to tax (ObjetoImpDR 02) needs its taxes in the payment. Only on **Stamp by hand**. |
| SAT CRP20248 | A taxes node must carry at least one tax. Only on **Stamp by hand**. |

### Contribution

| Check | Rule |
| - | - |
| `contribution_applied` | Each settlement contribution that pays invoices must be applied by a payment of this receipt. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.