Receptor B2B y B2C
Cómo estructurar el receptor para facturas a otros contribuyentes (B2B con RUC) vs. consumidores finales (B2C) y documentos innominados.
El bloque receptor define a quién va dirigido el documento electrónico. SIFEN distingue tres situaciones principales, y elegir mal el tipo es la causa más común de rechazos en producción.
Cuándo usar cada tipo
| Caso | tipoOperacion | tipoContribuyente | tipoDocumento | Datos requeridos |
|---|---|---|---|---|
| Venta a empresa con RUC (deduce IVA) | B2B | CONTRIBUYENTE | — (no se envía) | RUC + DV + tipoContribuyenteReceptor + razón social |
| Venta a persona física identificada | B2C | NO_CONTRIBUYENTE | CEDULA_PARAGUAYA (u otro) | Nº de documento + nombre |
| Consumo final hasta Gs. 7.000.000 sin identificar | B2C | NO_CONTRIBUYENTE | INNOMINADO | "0" + "Sin Nombre" |
tipoContribuyente acepta los valores CONTRIBUYENTE y NO_CONTRIBUYENTE, y es obligatorio en todas las operaciones (B2B, B2C, B2G y B2F). Los valores de tipoOperacion son: B2B, B2C, B2G (gobierno) y B2F (extranjero).
B2C innominado
Es el caso más simple: ventas al consumidor final por hasta Gs. 7.000.000 donde no hace falta pedir documento. Se arma con tipoContribuyente: "NO_CONTRIBUYENTE" + tipoDocumento: "INNOMINADO".
Aunque el cliente no se identifique, numeroDocumento y nombreRazonSocial siguen siendo obligatorios. Para el caso innominado el Manual Técnico de SIFEN define los valores literales "0" y "Sin Nombre" (D211) — no son placeholders, tienen que ir exactamente así.
{
"receptor": {
"tipoContribuyente": "NO_CONTRIBUYENTE",
"tipoOperacion": "B2C",
"tipoDocumento": "INNOMINADO",
"numeroDocumento": "0",
"nombreRazonSocial": "Sin Nombre"
}
}Restricción: las Notas de Crédito y Notas de Débito electrónicas no admiten receptor innominado (NT-010 / NT-023). Si querés anular o ajustar una FE innominada, vas a tener que identificar al receptor en la NCE/NDE.
B2C identificado
Para ventas a personas físicas con cédula cuando el monto supera Gs. 7.000.000, o el cliente lo solicita explícitamente. Es el mismo tipoContribuyente: "NO_CONTRIBUYENTE" que el caso innominado — lo único que cambia es el tipoDocumento y los datos reales del receptor.
{
"receptor": {
"tipoContribuyente": "NO_CONTRIBUYENTE",
"tipoOperacion": "B2C",
"tipoDocumento": "CEDULA_PARAGUAYA",
"numeroDocumento": "1234567",
"nombreRazonSocial": "Juan Pérez",
"direccion": "Av. España 1234, Asunción"
}
}Otros tipos de documento aceptados para B2C cuando no hay cédula paraguaya:
tipoDocumento | Cuándo usarlo |
|---|---|
CEDULA_PARAGUAYA | Cédula de identidad paraguaya |
PASAPORTE | Extranjero sin cédula |
CARNET_DE_RESIDENCIA | Residente extranjero |
CEDULA_EXTRANJERA | Cédula de identidad extranjera |
TARJETA_DIPLOMATICA | Tarjeta diplomática |
OTRO | Otro identificador no contemplado arriba |
B2B (factura a empresa)
Cuando el receptor es otro contribuyente que va a deducir IVA, el RUC es obligatorio. Sifende valida el RUC contra el padrón de la SET.
Si no tenés los datos completos del cliente, consultá el RUC en el padrón y usá la razón social, el DV y el domicilio que devuelve la SET para armar este bloque.
{
"receptor": {
"tipoContribuyente": "CONTRIBUYENTE",
"tipoOperacion": "B2B",
"tipoContribuyenteReceptor": "PERSONA_JURIDICA",
"numeroDocumento": "80012345",
"digitoVerificador": "1",
"nombreRazonSocial": "Comercial Guaraní S.A.",
"direccion": "Av. Mariscal López 4567, Asunción"
}
}Para B2B, no enviés tipoDocumento: el RUC se identifica por tipoOperacion: "B2B" + tipoContribuyente: "CONTRIBUYENTE". Separás el número y el dígito verificador en dos campos: numeroDocumento: "80012345" y digitoVerificador: "1".
Persona física o jurídica (tipoContribuyenteReceptor)
Todo receptor contribuyente tiene que declarar si es persona física o jurídica en tipoContribuyenteReceptor (campo SIFEN D207). No se usa en B2C, así que es un campo nuevo cuando pasás de facturar a consumidores finales a facturar a empresas.
| Valor | Cuándo usarlo |
|---|---|
PERSONA_JURIDICA | Empresas: S.A., S.R.L., EIRL, cooperativas, fundaciones, organismos públicos |
PERSONA_FISICA | Unipersonales y profesionales con RUC propio |
Si no lo mandás, la API responde 400 validation-error con tipoContribuyenteReceptor: "Tipo de contribuyente receptor es obligatorio para un contribuyente" — el documento nunca llega a SIFEN.
Lo mismo aplica a digitoVerificador: para un receptor contribuyente es obligatorio y tiene que ser un solo dígito (el DV del RUC, sin el guión ni el número base).
tipoContribuyente y tipoContribuyenteReceptor son campos distintos y suenan casi igual. tipoContribuyente (D201) dice si el receptor es contribuyente y va siempre; tipoContribuyenteReceptor (D207) dice qué tipo de contribuyente es y va únicamente cuando el primero vale CONTRIBUYENTE. Mandar el segundo para un NO_CONTRIBUYENTE es el rechazo 1303.
Cuándo es obligatorio facturar B2B
- Tu cliente es una empresa (PJ o EIRL).
- Te pide factura crédito fiscal.
- El monto supera Gs. 7.000.000 y el cliente tiene RUC.
- Vas a registrar la operación contra cuenta corriente del receptor.
Restricciones según tipo de documento
| Tipo de documento | Innominado | B2C identificado | B2B con RUC |
|---|---|---|---|
| Factura Electrónica (FE) | ✅ | ✅ | ✅ |
| Nota de Crédito (NCE) | ❌ | ✅ | ✅ |
| Nota de Débito (NDE) | ❌ | ✅ | ✅ |
Errores frecuentes
| SIFEN | Causa | Solución |
|---|---|---|
| 1302 | Falta tipoContribuyente para receptor B2B | Completar tipoContribuyente: "CONTRIBUYENTE" |
| 1303 | Se informó tipoContribuyenteReceptor (D207) cuando el receptor es NO_CONTRIBUYENTE | Eliminar tipoContribuyenteReceptor — solo aplica a receptores CONTRIBUYENTE. El campo tipoContribuyente siempre se envía |
| 1304 | Falta numeroDocumento (RUC) para receptor contribuyente | Completar el RUC del receptor |
| 1305 | Se informó el RUC del receptor (D206) cuando el receptor es NO_CONTRIBUYENTE | No hay que eliminar numeroDocumento: ese campo es obligatorio siempre y en B2C pasa a ser el número de CI/pasaporte (D210). Revisá que tu integración no esté enviando datos de RUC/contribuyente para un receptor no contribuyente |
| 1306 | RUC del receptor inexistente en Marangatu (no registrado en SET) | Confirmar el RUC con tu cliente |
| 1309 | DV del RUC del receptor incorrecto | Verificar digitoVerificador |
Ver el catálogo completo en Rechazos SIFEN.
Próximos pasos
- Volvé a Factura Electrónica para el flujo completo de emisión.
- Si vas a emitir notas de crédito/débito, repasá las restricciones en Nota de Crédito y Nota de Débito.
Idempotencia y Reintentos Seguros
Cómo usar Idempotency-Key para recuperar emisiones, cancelaciones e inutilizaciones sin duplicar efectos tributarios.
Consultar Estado de un Documento
Cómo verificar si un documento fue aprobado o rechazado por SIFEN usando el CDC, con la estrategia de polling recomendada.