Saltar al contenido
VeloraBlog
← Todos los artículos

13 de junio de 2026

Factura C en WSFEv1: por qué AFIP rechaza los importes (errores 10043, 10044, 10045)

En una Factura C (Monotributo) los importes van distinto que en A/B: ImpTotConc, ImpOpEx e ImpIVA deben ser exactamente 0, e ImpNeto lleva el subtotal completo porque no se discrimina IVA. AFIP rechaza con error 10043 si ImpTotConc no es 0, 10044 si ImpOpEx no es 0, y 10045 valida ImpNeto. Para tipo C, ImpTotal = ImpNeto.

Por qué los importes de Factura C son distintos

Un Monotributista no discrimina IVA: su Factura C no separa neto gravado de IVA como una A o una B. En WSFEv1 eso se traduce en una regla concreta de importes — para comprobantes tipo C (CbteTipo 11, 12, 13):

  • ImpTotConc (neto no gravado), ImpOpEx (exento) e ImpIVA deben ser igual a 0.
  • ImpNeto lleva el subtotal completo de la operación.
  • Por lo tanto ImpTotal === ImpNeto (más ImpTrib si hubiera tributos).

El error típico es armar la Factura C como si fuera A/B: desglosar IVA, poner ImpTotConc o ImpOpEx con monto. AFIP devuelve Resultado="R" con 10043, 10044 o 10045 — todas validaciones excluyentes.

Qué valida cada código (textual del manual)

CódigoRegla en Factura C (tipo C)
10043ImpTotConc debe ser igual a 0
10044ImpOpEx debe ser igual a 0
10045ImpNeto corresponde al Importe del Subtotal (no menor a 0)

Citas textuales del manual oficial de ARCA (WSFEv1):

  • 10043 → «El campo "Importe neto no gravado" <ImpTotConc>. No puede ser menor a cero (0). Para comprobantes tipo C debe ser igual a cero (0)».
  • 10044 → «El campo "importe exento" <ImpOpEx>. No puede ser menor a cero (0). Para comprobantes tipo C debe ser igual a cero (0)».
  • 10045 → «El campo "Importe neto gravado" <ImpNeto>. No puede ser menor a cero (0). Para comprobantes tipo C este campo corresponde al Importe del Sub Total».

A nivel de campo, el manual también define para ImpIVA: «Para comprobantes tipo C debe ser igual a cero (0)».

Cómo armar los importes de una Factura C

// Factura C (Monotributo) — total $10.000, SIN desglose de IVA
const voucher = {
  CbteTipo: 11,        // Factura C
  ImpTotal:    10000,
  ImpNeto:     10000,  // el subtotal completo va acá
  ImpTotConc:  0,      // → evita 10043
  ImpOpEx:     0,      // → evita 10044
  ImpIVA:      0,      // tipo C no discrimina IVA
  ImpTrib:     0,
  // IVA array: AlicIVA id=3 (0% exento) o sin informar
};
// Para tipo C: ImpTotal === ImpNeto (+ ImpTrib si hubiera)

Checklist:

  1. ImpTotConc === 0 → evita 10043.
  2. ImpOpEx === 0 → evita 10044.
  3. ImpIVA === 0 (Monotributo no discrimina IVA).
  4. ImpNeto = subtotal completo y ImpTotal === ImpNeto (+ ImpTrib).