Skip to content

Reglas de Negocio — Referencia Rápida

Este artículo consolida en forma de referencia rápida las reglas de negocio que rigen el comportamiento de GM Fiscal. Para la explicación completa de cada tema, consultar los artículos de esta misma sección.

Ciclo de vida de la Solicitud

EstadoTransiciones de salida permitidas
Listo para conciliarSolicitud en proceso
Solicitud en procesoConciliada · → Error
ErrorListo para conciliar
ConciliadaNinguna — estado final e inmutable

Cualquier intento de salir del estado Conciliada produce InvalidTransitionError. Los reportes R21 y RAMCI solo pueden generarse desde una solicitud en estado Conciliada.

RFC multi-empresa

MétodoRFC utilizado para
empresa.GetProdigiaRFC()Consultas al SAT vía Prodigia o Hades
empresa.GetServicesRFC()Consultas al ERP e Importa
empresa.GetDatabaseRFC()Identificador en base de datos

El campo empresa.RFC no se usa directamente en consultas externas. En modo TST, empresa.RFC puede ser un RFC de prueba mientras ProdigiaRFC contiene el RFC real de la empresa.

Precisión fiscal

OperaciónRegla
RedondeoHalf-up SAT: R21MathUtils.RedondearMonto(x)
Comparación de montosTolerancia 0.005: R21MathUtils.CompararMontos(a, b)
Comparación de UUIDsInsensible a mayúsculas: strings.EqualFold(u1, u2)
Parsing XMLRemoveNamespaces(xml) antes de xml.Unmarshal
Arrays de impuestosImpuestosERP y ImpuestosProdigia nunca se mezclan

Clasificación CFDI para R21

Tipo CFDIContribuyente comoEfecto en R21
I (Ingreso)EmisorIVA Causado
I (Ingreso)ReceptorIVA Acreditable
E (Egreso)EmisorIVA Causado
E (Egreso)ReceptorIVA Acreditable
N (Nómina)EmisorISR Retenido Nómina
P (Pago)ReceptorIVA Acreditable
P (Pago)EmisorNo contribuye al R21

Los CFDIs cancelados (EstatusERP = "CANCELADO") se excluyen siempre del R21.

Clasificación CFDI para RAMCI

CategoríaCondición
R — IngresosTipo I, contribuyente es emisor
A — EgresosTipo E, contribuyente es emisor
M — NóminaTipo N, contribuyente es emisor
C — Notas de CréditoTipo E, contribuyente es receptor
I — Ingresos recibidosTipo I, contribuyente es receptor

Excluidos del RAMCI: categoría "General" y CFDIs tipo P (Pagos).

Tasas de IVA válidas (SAT 2024)

TasaCódigoAplicación
0.160000002IVA general (16%)
0.080000002IVA zona fronteriza norte (8%)
0.000000002IVA tasa cero: exportaciones, alimentos, medicinas

Invariantes verificables

Las siguientes condiciones deben cumplirse en todos los tests de conciliación y reporte:

  • fc.ImpuestosERP[i].Origen == "ERP" para todo i.
  • fc.ImpuestosProdigia[i].Origen == "PRODIGIA" para todo i.
  • No existe transición válida desde el estado Conciliada.
  • El UUID de cualquier CFDI se compara con strings.EqualFold, nunca con ==.
  • Todo monto se redondea con R21MathUtils.RedondearMonto antes de cualquier acumulación.

Documentación relacionada