Tipos de comprobantes fiscales

RunLLM
RunLLM

Parece que los tipos de comprobantes principales para facturación electrónica con Afip SDK incluyen Factura A (1), Factura B (6), Factura C (11), Factura de Crédito Electrónica A (201), B (202), C (211), Nota de Crédito A (3), B (8), C (13), Nota de Débito A (2), B (7), C (12), y Recibos (por ejemplo, 15 para Recibo A, 16 para Recibo B, 17 para Recibo C). Los códigos pueden variar según el régimen y el tipo de operación. Para cada comprobante, los tipos de documento admitidos suelen ser: 80 (CUIT), 86 (CUIL), 96 (DNI), y 99 (Consumidor Final) según la documentación y ejemplos del SDK, aunque algunos comprobantes pueden requerir tipos específicos según la normativa vigente.

No se encontró en los recursos una tabla exhaustiva que relacione cada tipo de comprobante con todos los tipos de documento permitidos para emitir y recibir, pero los ejemplos muestran que la mayoría de los comprobantes aceptan los tipos mencionados arriba. Si necesitas el listado completo y oficial de códigos, se recomienda consultar la documentación de ARCA/AFIP y la sección de "tipos de comprobantes disponibles" en el SDK, ya que allí se detallan los códigos y denominaciones oficiales para cada comprobante y documento admitido en la operatoria electrónica.

¿Te gustaría ver ejemplos de código para la emisión de cada tipo de comprobante o necesitas el listado oficial de códigos y denominaciones?

Sources:

MaxiLongo
MaxiLongo

@user dame los ejemplos mencionados

RunLLM
RunLLM

Aquí tienes ejemplos de emisión de Factura A, B, C, Nota de Crédito y Recibo usando Afip SDK, mostrando los campos clave y tipos de documento (DocTipo) como CUIT (80), CUIL (86), DNI (96) y Consumidor Final (99):

Ejemplo Factura B (PHP):

$data = array(
  'CantReg' => 1,
  'PtoVta' => 1,
  'CbteTipo' => 6, // Factura B
  'Concepto' => 1,
  'DocTipo' => 99, // Consumidor Final
  'DocNro' => 0,
  'CbteDesde' => 1,
  'CbteHasta' => 1,
  'CbteFch' => intval(date('Ymd')),
  'ImpTotal' => 121,
  'ImpTotConc' => 0,
  'ImpNeto' => 100,
  'ImpOpEx' => 0,
  'ImpIVA' => 21,
  'ImpTrib' => 0,
  'MonId' => 'PES',
  'MonCotiz' => 1,
  'CondicionIVAReceptorId' => 5,
  'Iva' => array(
    array('Id' => 5, 'BaseImp' => 100, 'Importe' => 21)
  ),
);
$res = $afip->ElectronicBilling->CreateVoucher($data);

Ejemplo Factura A (API):

{
  "environment": "dev",
  "method": "FECAESolicitar",
  "wsid": "wsfe",
  "params": {
    "Auth": { "Token": "{{token}}", "Sign": "{{sign}}", "Cuit": "20409378472" },
    "FeCAEReq": {
      "FeCabReq": { "CantReg": 1, "PtoVta": 1, "CbteTipo": 1 },
      "FeDetReq": {
        "FECAEDetRequest": {
          "Concepto": 1,
          "DocTipo": 80, // CUIT
          "DocNro": 30712345678,
          "CbteDesde": 1,
          "CbteHasta": 1,
          "CbteFch": 20250516,
          "ImpTotal": 121,
          "ImpTotConc": 0,
          "ImpNeto": 100,
          "ImpOpEx": 0,
          "ImpIVA": 21,
          "ImpTrib": 0,
          "MonId": "PES",
          "MonCotiz": 1,
          "CondicionIVAReceptorId": 1,
          "Iva": { "AlicIva": [{ "Id": 5, "BaseImp": 100, "Importe": 21 }] }
        }
      }
    }
  }
}

Ejemplo Nota de Crédito B (API):

{
  "environment": "dev",
  "method": "FECAESolicitar",
  "wsid": "wsfe",
  "params": {
    "Auth": { "Token": "{{token}}", "Sign": "{{sign}}", "Cuit": "20409378472" },
    "FeCAEReq": {
      "FeCabReq": { "CantReg": 1, "PtoVta": 1, "CbteTipo": 8 },
      "FeDetReq": {
        "FECAEDetRequest": {
          "Concepto": 1,
          "DocTipo": 96, // DNI
          "DocNro": 12345678,
          "CbteDesde": 1,
          "CbteHasta": 1,
          "CbteFch": 20250516,
          "ImpTotal": 50,
          "ImpTotConc": 0,
          "ImpNeto": 41.32,
          "ImpOpEx": 0,
          "ImpIVA": 8.68,
          "ImpTrib": 0,
          "MonId": "PES",
          "MonCotiz": 1,
          "CondicionIVAReceptorId": 5,
          "Iva": { "AlicIva": [{ "Id": 5, "BaseImp": 41.32, "Importe": 8.68 }] }
        }
      }
    }
  }
}

Ejemplo Recibo C (API):

{
  "environment": "dev",
  "method": "FECAESolicitar",
  "wsid": "wsfe",
  "params": {
    "Auth": { "Token": "{{token}}", "Sign": "{{sign}}", "Cuit": "20409378472" },
    "FeCAEReq": {
      "FeCabReq": { "CantReg": 1, "PtoVta": 1, "CbteTipo": 17 },
      "FeDetReq": {
        "FECAEDetRequest": {
          "Concepto": 1,
          "DocTipo": 86, // CUIL
          "DocNro": 20123456789,
          "CbteDesde": 1,
          "CbteHasta": 1,
          "CbteFch": 20250516,
          "ImpTotal": 100,
          "ImpTotConc": 0,
          "ImpNeto": 100,
          "ImpOpEx": 0,
          "ImpIVA": 0,
          "ImpTrib": 0,
          "MonId": "PES",
          "MonCotiz": 1,
          "CondicionIVAReceptorId": 5
        }
      }
    }
  }
}

Puedes adaptar el campo DocTipo según el tipo de documento del receptor. ¿Te gustaría ejemplos en otro lenguaje o para otro comprobante específico?

Sources: