diff --git a/source/app/models/main.py b/source/app/models/main.py index ae915c7..5fdb284 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -5939,7 +5939,9 @@ class CfdiNomina(BaseModel): (CfdiNomina.fecha_pago==values['fecha_pago']) & (CfdiNomina.fecha_inicial_pago==values['fecha_inicial_pago']) & (CfdiNomina.fecha_final_pago==values['fecha_final_pago']) & - (CfdiNomina.total==values['total'])) + (CfdiNomina.total==values['total']) & + (CfdiNomina.cancelada==False) + ) .exists()) return result @@ -6076,6 +6078,13 @@ class CfdiNomina(BaseModel): ) return {'ok': True, 'rows': tuple(rows)} + def _validate_timbrado(self, data): + receptor = data['receptor'] + if receptor['TipoContrato'] == '99': + del data['emisor']['RegistroPatronal'] + + return data + def _make_xml(self, cfdi, auth): emisor = Emisor.select()[0] empleado = cfdi.empleado @@ -6280,6 +6289,8 @@ class CfdiNomina(BaseModel): } incapacidades.append(n) + + nomina = { 'nomina': nomina, 'emisor': nomina_emisor, @@ -6289,6 +6300,7 @@ class CfdiNomina(BaseModel): 'otros_pagos': otros_pagos, 'incapacidades': incapacidades, } + nomina = self._validate_timbrado(self, nomina) data = { 'comprobante': comprobante,