import { Aside } from "@astrojs/starlight/components";

Los módulos anteriores describen cada bloque del payload en general. Esta
página es la contraparte: qué exige, permite o prohíbe cada uno de los 10
tipos de e-CF sobre esos mismos bloques. La fuente de esta matriz no es una
tabla suelta, es el código que valida cada emisión, así que no se puede
desincronizar de lo que la API realmente hace.

## Por tipo

**31, Factura de Crédito Fiscal Electrónica**
: `buyer.rnc` e `incomeType` obligatorios. Sin restricciones especiales en
el resto de los bloques.

**32, Factura de Consumo Electrónica**
: `buyer` obligatorio solo si `montoTotal` llega a RD$250,000. Por debajo
de ese monto, NovaFE emite el comprobante como RFCE (tú igualmente mandas
un tipo 32 normal, NovaFE decide el formato).

**33, Nota de Débito Electrónica**
: `reference` obligatorio. `incomeType` obligatorio si modifica un 31, 32, 45
o 46, y no debe ir si modifica un 41 (ver
[Cabecera y comprador](/emision/cabecera-comprador/)). `buyer` obligatorio si el monto
llega al umbral de consumo, o si el comprobante que referencias ya lo
identifica.

**34, Nota de Crédito Electrónica**
: `reference` obligatorio, con la misma regla de comprador y de `incomeType`
que la Nota de Débito. No lleva `sequenceExpiresOn` porque su secuencia no vence.

**41, Comprobante Electrónico de Compras**
: `buyer.rnc` obligatorio, y retención (ITBIS y/o ISR) obligatoria en cada
línea. No admite `incomeType`, `shipping` ni `transport`, ni Norma 10-07 ni
impuestos adicionales por línea. Sí admite ajustes globales.

**43, Comprobante Electrónico para Gastos Menores**
: El más restringido de todos. `buyer` no es obligatorio, todas las líneas
deben ir exentas, y no admite ajustes globales, descuentos o recargos de
línea, monto no facturable, `shipping` ni `transport`.

**44, Comprobante Electrónico para Regímenes Especiales**
: `buyer.rnc` e `incomeType` obligatorios, todas las líneas exentas, sin
Norma 10-07.

**45, Comprobante Electrónico Gubernamental**
: `buyer.rnc` e `incomeType` obligatorios. Sin restricciones especiales en
el resto.

**46, Comprobante Electrónico para Exportaciones**
: `incomeType` obligatorio, todas las líneas a tasa 0 %. Normalmente lleva
`foreignCurrency` y `shipping.export`. Sin Norma 10-07 ni impuestos
adicionales por línea.

**47, Comprobante Electrónico para Pagos al Exterior**
: `buyer.foreignId` obligatorio, y retención de ISR obligatoria en cada
línea. No admite `incomeType`, descuentos o recargos de línea, monto no
facturable, ajustes globales ni `shipping`; `transport` solo admite
`destinationCountry`.

<Aside type="caution" title="Gap conocido en el tipo 46">
  La matriz oficial de la DGII exige `RNCComprador` cuando una Zona Franca
  Comercial le transfiere bienes a un residente (Art. 10, Norma General 05-19).
  NovaFE todavía no valida ese caso puntual: hoy no exige `buyer.rnc` en ningún
  comprobante tipo 46. Si tu operación cae en ese supuesto, verifica el dato tú
  mismo mientras se cierra este gap (ya está trackeado en nuestro backlog).
</Aside>

## Matriz completa

Para quien necesita la vista cruzada (por ejemplo, "¿qué tipos admiten
ajustes globales?") en vez de la vista por tipo de arriba.

| Regla                                               | 31         | 32           | 33                                              | 34                                              | 41          | 43          | 44          | 45         | 46          | 47           |
| --------------------------------------------------- | ---------- | ------------ | ----------------------------------------------- | ----------------------------------------------- | ----------- | ----------- | ----------- | ---------- | ----------- | ------------ |
| Necesita `reference`                                | No         | No           | Sí                                              | Sí                                              | No          | No          | No          | No         | No          | No           |
| Necesita `incomeType`                               | Sí         | Sí           | Sí                                              | Sí                                              | No          | No          | Sí          | Sí         | Sí          | No           |
| Tasa de ITBIS en las líneas                         | Cualquiera | Cualquiera   | Cualquiera                                      | Cualquiera                                      | Cualquiera  | Solo exenta | Solo exenta | Cualquiera | Solo 0 %    | Solo exenta  |
| Admite ajustes globales                             | Sí         | Sí           | Sí                                              | Sí                                              | Sí          | No          | Sí          | Sí         | Sí          | No           |
| Admite Norma 10-07                                  | Sí         | Sí           | Sí                                              | Sí                                              | No          | No          | No          | Sí         | No          | No           |
| Admite impuestos adicionales por línea              | Sí         | Sí           | Sí                                              | Sí                                              | No          | No          | Sí          | Sí         | No          | No           |
| Admite `shipping`                                   | Sí         | Sí           | Sí                                              | Sí                                              | No          | No          | Sí          | Sí         | Sí          | No           |
| Tipo de exportación                                 | No         | No           | No                                              | No                                              | No          | No          | No          | No         | Sí          | No           |
| Bloque `transport`                                  | Estándar   | Estándar     | Estándar                                        | Estándar                                        | No aplica   | No aplica   | Estándar    | Estándar   | Estándar    | Solo destino |
| Restringe descuentos de línea y monto no facturable | No         | No           | No                                              | No                                              | No          | Sí          | No          | No         | No          | Sí           |
| Retención por línea                                 | No         | No           | No                                              | No                                              | ITBIS + ISR | No          | No          | No         | No          | Solo ISR     |
| Identificación del comprador                        | Siempre    | Desde umbral | Desde umbral o si el referenciado lo identifica | Desde umbral o si el referenciado lo identifica | Siempre     | No validado | Siempre     | Siempre    | No validado | No validado  |

"Desde umbral" es el mismo RD$250,000 de la Factura de Consumo. "No
validado" significa que NovaFE no exige ni valida ese dato hoy, no que la
DGII no lo requiera.