Passed
Push — main ( 97b175...ba1019 )
by Sat CFDI
05:01
created

cfdv40-nomina12.xml.pretty   A

Complexity

Total Complexity 0

Size/Duplication

Total Lines 145
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 141
dl 0
loc 145
rs 10
c 0
b 0
f 0
wmc 0
1
{'Certificado': '',
2
 'CfdiRelacionados': [{'CfdiRelacionado': ['F4F09AEF-57F2-4BE0-A828-87D1A80ED61C'],
3
                       'TipoRelacion': Code('09', 'Factura generada por pagos diferidos')}],
4
 'Complemento': {'Nomina': {'Deducciones': {'Deduccion': [{'Clave': 'XXX',
5
                                                           'Concepto': 'Deduccion '
6
                                                                       'Semanal',
7
                                                           'Importe': Decimal('10.00'),
8
                                                           'TipoDeduccion': Code('001', 'Seguridad social')},
9
                                                          {'Clave': 'YYY',
10
                                                           'Concepto': 'Deduccion '
11
                                                                       'Semanal',
12
                                                           'Importe': Decimal('10.00'),
13
                                                           'TipoDeduccion': Code('100', 'Ajuste en Viáticos exentos')}],
14
                                            'TotalImpuestosRetenidos': Decimal('123.45'),
15
                                            'TotalOtrasDeducciones': Decimal('123.45')},
16
                            'Emisor': {'Curp': 'OAAJ840102HJCVRN00',
17
                                       'EntidadSNCF': {'MontoRecursoPropio': Decimal('123.45'),
18
                                                       'OrigenRecurso': Code('IP', 'Ingresos propios')},
19
                                       'RegistroPatronal': 'E23-12345-12-1',
20
                                       'RfcPatronOrigen': 'AAA010101AAA'},
21
                            'FechaFinalPago': datetime.date(2016, 10, 15),
22
                            'FechaInicialPago': datetime.date(2016, 10, 1),
23
                            'FechaPago': datetime.date(2016, 10, 15),
24
                            'Incapacidades': [{'DiasIncapacidad': 1,
25
                                               'ImporteMonetario': Decimal('22.45'),
26
                                               'TipoIncapacidad': Code('01', 'Riesgo de trabajo')},
27
                                              {'DiasIncapacidad': 2,
28
                                               'ImporteMonetario': Decimal('22.45'),
29
                                               'TipoIncapacidad': Code('02', 'Enfermedad en general')}],
30
                            'NumDiasPagados': Decimal('15'),
31
                            'OtrosPagos': [{'Clave': '003',
32
                                            'CompensacionSaldosAFavor': {'Año': 2016,
33
                                                                         'RemanenteSalFav': Decimal('1234.56'),
34
                                                                         'SaldoAFavor': Decimal('12345.67')},
35
                                            'Concepto': 'Otro pago 111',
36
                                            'Importe': Decimal('1234.56'),
37
                                            'SubsidioAlEmpleo': Decimal('1234.56'),
38
                                            'TipoOtroPago': Code('001', 'Reintegro de ISR pagado en exceso (siempre que no haya sido enterado al SAT)')},
39
                                           {'Clave': '003',
40
                                            'CompensacionSaldosAFavor': {'Año': 2016,
41
                                                                         'RemanenteSalFav': Decimal('123.45'),
42
                                                                         'SaldoAFavor': Decimal('123.45')},
43
                                            'Concepto': 'Otro pago 222',
44
                                            'Importe': Decimal('1234.56'),
45
                                            'SubsidioAlEmpleo': Decimal('1234.56'),
46
                                            'TipoOtroPago': Code('002', 'Subsidio para el empleo (efectivamente entregado al trabajador)')}],
47
                            'Percepciones': {'JubilacionPensionRetiro': {'IngresoAcumulable': Decimal('223.45'),
48
                                                                         'IngresoNoAcumulable': Decimal('223.45'),
49
                                                                         'MontoDiario': Decimal('223.45'),
50
                                                                         'TotalParcialidad': Decimal('223.45'),
51
                                                                         'TotalUnaExhibicion': Decimal('223.45')},
52
                                             'Percepcion': [{'AccionesOTitulos': {'PrecioAlOtorgarse': Decimal('123.45'),
53
                                                                                  'ValorMercado': Decimal('12345.67')},
54
                                                             'Clave': 'AAA',
55
                                                             'Concepto': 'Sueldo '
56
                                                                         'Regular',
57
                                                             'HorasExtra': [{'Dias': 2,
58
                                                                             'HorasExtra': 8,
59
                                                                             'ImportePagado': Decimal('228.45'),
60
                                                                             'TipoHoras': Code('01', 'Dobles')},
61
                                                                            {'Dias': 2,
62
                                                                             'HorasExtra': 8,
63
                                                                             'ImportePagado': Decimal('228.45'),
64
                                                                             'TipoHoras': Code('02', 'Triples')}],
65
                                                             'ImporteExento': Decimal('90.00'),
66
                                                             'ImporteGravado': Decimal('89.00'),
67
                                                             'TipoPercepcion': Code('001', 'Sueldos, Salarios Rayas y Jornales')},
68
                                                            {'Clave': 'BBB',
69
                                                             'Concepto': 'Sueldo '
70
                                                                         'Regular',
71
                                                             'HorasExtra': [{'Dias': 2,
72
                                                                             'HorasExtra': 8,
73
                                                                             'ImportePagado': Decimal('288.45'),
74
                                                                             'TipoHoras': Code('01', 'Dobles')},
75
                                                                            {'Dias': 2,
76
                                                                             'HorasExtra': 8,
77
                                                                             'ImportePagado': Decimal('288.45'),
78
                                                                             'TipoHoras': Code('03', 'Simples')}],
79
                                                             'ImporteExento': Decimal('90.00'),
80
                                                             'ImporteGravado': Decimal('89.00'),
81
                                                             'TipoPercepcion': Code('005', 'Fondo de Ahorro')}],
82
                                             'SeparacionIndemnizacion': {'IngresoAcumulable': Decimal('323.45'),
83
                                                                         'IngresoNoAcumulable': Decimal('323.45'),
84
                                                                         'NumAñosServicio': 7,
85
                                                                         'TotalPagado': Decimal('323.45'),
86
                                                                         'UltimoSueldoMensOrd': Decimal('323.45')},
87
                                             'TotalExento': Decimal('123.45'),
88
                                             'TotalGravado': Decimal('123.45'),
89
                                             'TotalJubilacionPensionRetiro': Decimal('123.45'),
90
                                             'TotalSeparacionIndemnizacion': Decimal('123.45'),
91
                                             'TotalSueldos': Decimal('123.45')},
92
                            'Receptor': {'Antigüedad': 'P3Y2M23D',
93
                                         'Banco': Code('002', 'BANAMEX'),
94
                                         'ClaveEntFed': Code('AGU', 'Aguascalientes'),
95
                                         'CuentaBancaria': 1234567890,
96
                                         'Curp': 'OAAJ840102HJCVRN00',
97
                                         'Departamento': '001',
98
                                         'FechaInicioRelLaboral': datetime.date(2013, 4, 11),
99
                                         'NumEmpleado': '001',
100
                                         'NumSeguridadSocial': '123456789012345',
101
                                         'PeriodicidadPago': Code('04', 'Quincenal'),
102
                                         'Puesto': 'Programador',
103
                                         'RiesgoPuesto': Code('3', 'Clase III'),
104
                                         'SalarioBaseCotApor': Decimal('123.45'),
105
                                         'SalarioDiarioIntegrado': Decimal('123.45'),
106
                                         'Sindicalizado': 'Sí',
107
                                         'SubContratacion': [{'PorcentajeTiempo': Decimal('23.45'),
108
                                                              'RfcLabora': 'AAA010101AAA'},
109
                                                             {'PorcentajeTiempo': Decimal('13.45'),
110
                                                              'RfcLabora': 'BBB010101AAA'}],
111
                                         'TipoContrato': Code('01', 'Contrato de trabajo por tiempo indeterminado'),
112
                                         'TipoJornada': Code('02', 'Nocturna'),
113
                                         'TipoRegimen': Code('03', 'Jubilados')},
114
                            'TipoNomina': Code('O', 'Nómina ordinaria'),
115
                            'TotalDeducciones': Decimal('123.45'),
116
                            'TotalOtrosPagos': Decimal('123.45'),
117
                            'TotalPercepciones': Decimal('123.45'),
118
                            'Version': '1.2'}},
119
 'Conceptos': [{'Cantidad': Decimal('1'),
120
                'ClaveProdServ': Code('84111506', 'Servicios de facturación'),
121
                'ClaveUnidad': Code('ACT', 'Actividad'),
122
                'Descripcion': 'Descripcion',
123
                'Importe': Decimal('0'),
124
                'ObjetoImp': Code('01', 'No objeto de impuesto'),
125
                'ValorUnitario': Decimal('0')}],
126
 'Emisor': {'Nombre': 'Esta es una demostración',
127
            'RegimenFiscal': Code('622', 'Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras'),
128
            'Rfc': ' AAA010101AAA'},
129
 'Exportacion': Code('03', 'Temporal'),
130
 'Fecha': datetime.datetime(2021, 12, 8, 23, 59, 59),
131
 'FormaPago': Code('02', 'Cheque nominativo'),
132
 'LugarExpedicion': Code('99999', None),
133
 'Moneda': Code('XXX', 'Los códigos asignados para las transacciones en que intervenga ninguna moneda'),
134
 'NoCertificado': '30001000000300023708',
135
 'Receptor': {'DomicilioFiscalReceptor': '99999',
136
              'Nombre': 'Juanito Bananas De la Sierra',
137
              'RegimenFiscalReceptor': Code('630', 'Enajenación de acciones en bolsa de valores'),
138
              'Rfc': 'BASJ600902KL9',
139
              'UsoCFDI': Code('P01', 'Por definir')},
140
 'Sello': '',
141
 'SubTotal': Decimal('0'),
142
 'TipoDeComprobante': Code('P', 'Pago'),
143
 'Total': Decimal('0'),
144
 'Version': '4.0'}