En el XML de Verifactu existe, a nivel de detalle de desglose de cada línea, el campo CalificacionOperacion, que identifica la naturaleza fiscal de la operación.
Entre los valores más comunes se encuentran:
- S1 – Operación sujeta y no exenta, sin inversión del sujeto pasivo
- S2 – Operación sujeta y no exenta, con inversión del sujeto pasivo
- N1 – Operación no sujeta
- N2 – Operación no sujeta por reglas de localización
¿Debo enviar S1, S2, N1 o N2 en el API?
No. En el API de SIGN ES no existe un campo explícito para enviar directamente S1, S2, N1 o N2.
En su lugar, debes informar por cada línea la categoría fiscal correspondiente mediante:
typecause, cuando aplique
A partir de esa información, SIGN ES genera internamente el valor correspondiente de CalificacionOperacion en el XML de Verifactu.
Mapeo habitual utilizado por SIGN ES
S1 – Operación sujeta y no exenta, sin inversión del sujeto pasivo
"system": {
"category": {
"type": "VAT"
}
}S2 – Operación sujeta y no exenta, con inversión del sujeto pasivo
"system": {
"category": {
"type": "INVERSE_VAT"
}
}N1 – Operación no sujeta
"system": {
"category": {
"type": "NO_VAT",
"cause": "NON_TAXABLE_1"
}
}N2 – Operación no sujeta por reglas de localización
"system": {
"category": {
"type": "NO_VAT",
"cause": "NON_TAXABLE_2"
}
}
Importante: El valor final de CalificacionOperacion depende del tratamiento fiscal global de la línea, no solo de una equivalencia directa. En la integración debe informarse la categoría fiscal adecuada de cada línea, y SIGN ES generará internamente el valor correspondiente en el XML de Verifactu.