From 7972a3f59c12ed770bd79dee13e6c26c6eb53b0e Mon Sep 17 00:00:00 2001 From: cosmos Date: Sun, 16 Mar 2025 17:05:57 -0500 Subject: [PATCH] =?UTF-8?q?A=C3=B1ade=20ejemplos=20de=20xml=20funcionales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/habilitacion/N000001.py | 123 +++++ examples/habilitacion/N000001.xml | 89 ++++ examples/habilitacion/N000001.zip | Bin 0 -> 5052 bytes examples/habilitacion/N000002.py | 123 +++++ examples/habilitacion/N000002.xml | 89 ++++ examples/habilitacion/N000002.zip | Bin 0 -> 5057 bytes examples/habilitacion/N000003.py | 123 +++++ examples/habilitacion/N000003.xml | 89 ++++ examples/habilitacion/N000003.zip | Bin 0 -> 5055 bytes examples/habilitacion/N000004.py | 123 +++++ examples/habilitacion/N000004.xml | 89 ++++ examples/habilitacion/N000004.zip | Bin 0 -> 5056 bytes .../codelist/TarifaImpuestoReteFuente-2.1.gc | 479 ++++++++++++++++++ 13 files changed, 1327 insertions(+) create mode 100644 examples/habilitacion/N000001.py create mode 100644 examples/habilitacion/N000001.xml create mode 100644 examples/habilitacion/N000001.zip create mode 100644 examples/habilitacion/N000002.py create mode 100644 examples/habilitacion/N000002.xml create mode 100644 examples/habilitacion/N000002.zip create mode 100644 examples/habilitacion/N000003.py create mode 100644 examples/habilitacion/N000003.xml create mode 100644 examples/habilitacion/N000003.zip create mode 100644 examples/habilitacion/N000004.py create mode 100644 examples/habilitacion/N000004.xml create mode 100644 examples/habilitacion/N000004.zip create mode 100644 facho/fe/data/dian/codelist/TarifaImpuestoReteFuente-2.1.gc diff --git a/examples/habilitacion/N000001.py b/examples/habilitacion/N000001.py new file mode 100644 index 0000000..6216063 --- /dev/null +++ b/examples/habilitacion/N000001.py @@ -0,0 +1,123 @@ + +from facho import fe + +SOFTWARE_PIN='20234' +SOFTWARE_ID='100b0d10-0ca0-4ad4-a894-b704a568cbf3' +NIT='901575528' +DV='2' + +def extensions(nomina): + return [] + +def nomina(): + nomina = fe.nomina.DIANNominaIndividual() + + nomina.asignar_fecha_pago('2024-04-30') + + nomina.asignar_metadata(fe.nomina.Metadata( + novedad=fe.nomina.Novedad(value='false'), + secuencia=fe.nomina.NumeroSecuencia( + prefijo='N', + consecutivo='000001' + ), + lugar_generacion=fe.nomina.Lugar( + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + ), + proveedor=fe.nomina.Proveedor( + razon_social='BICI PIZZA S.A.S', + nit=NIT, + dv=DV, + software_id=SOFTWARE_ID, + software_pin=SOFTWARE_PIN + ) + )) + + nomina.asignar_periodo(fe.nomina.Periodo( + fecha_ingreso= '2022-01-05', + fecha_liquidacion_inicio='2024-04-01', + fecha_liquidacion_fin='2024-04-30', + fecha_generacion='2024-04-30' + )) + + nomina.asignar_informacion_general(fe.nomina.InformacionGeneral( + fecha_generacion = '2024-04-30', + hora_generacion = '08:01:00-05:00', + tipo_ambiente = fe.nomina.InformacionGeneral.AMBIENTE_PRUEBAS, + software_pin = SOFTWARE_PIN, + periodo_nomina = fe.nomina.PeriodoNomina(code='1'), + tipo_moneda = fe.nomina.TipoMoneda(code='COP') + )) + + nomina.asignar_pago(fe.nomina.Pago( + forma=fe.nomina.FormaPago( + code='1', + ), + metodo=fe.nomina.MetodoPago( + code='10' + ) + )) + nomina.asignar_empleador(fe.nomina.Empleador( + razon_social='BICI PIZZA S.A.S', + nit = NIT, + dv = DV, + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + direccion = 'calle etrivial' + )) + + nomina.asignar_trabajador(fe.nomina.Trabajador( + tipo_contrato = fe.nomina.TipoContrato( + code = '1' + ), + alto_riesgo = False, + tipo_documento = fe.nomina.TipoDocumento( + code = '11' + ), + primer_apellido = 'GONZALEZ', + segundo_apellido = '', + primer_nombre = 'JUAN', + lugar_trabajo = fe.nomina.LugarTrabajo( + pais = fe.nomina.Pais(code='CO'), + departamento = fe.nomina.Departamento(code='05'), + municipio = fe.nomina.Municipio(code='05001'), + direccion = 'CL 35C 102-17 BL 7 AP 101' + ), + numero_documento = NIT, + tipo = fe.nomina.TipoTrabajador( + code = '01' + ), + salario_integral = False, + sueldo = fe.nomina.Amount(2400000) + )) + + nomina.adicionar_devengado(fe.nomina.DevengadoBasico( + dias_trabajados = 30, + sueldo_trabajado = fe.nomina.Amount(2400000) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionSalud( + porcentaje = fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(96000) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionFondoPension( + porcentaje=fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(96000) + )) + return nomina + diff --git a/examples/habilitacion/N000001.xml b/examples/habilitacion/N000001.xml new file mode 100644 index 0000000..548deac --- /dev/null +++ b/examples/habilitacion/N000001.xml @@ -0,0 +1,89 @@ + + + + + + + + + + +HS3rmJgPKyCNLNO3TXfP0s1zIGvJTjq40JfMm/muHLA= + + + +88R+0zjb6NIUiHhT8EE1ale8bO+TR6SSQBtVQUYkZ6c= + + + + + + +QF0d+RznylwnbFaGclqPWLndUo35HVDouEYoS1wfVO8= + + +0JBFsBhyo4r/9m5vuBXbKirHOgniDNeGW3RNXpCE/sgXvrV3E4K8/M4HeO0VYtM0 +G4bHvvkP2NCkdrKgZ9gB+XG8E/rEmJnwKpHm2kaNnpM1pYGoqBNWpqCa5FnUsEk4 +c4BmBaKjmBSUrz+2JoOg1RKaaJumqGWm83IjWWJq9b4l40imL0XIgoTmWUtIGOA0 +swm5rokLFldHv9T9CQvuYqCQIb6GAb2HB/GzNcPVO6quCqNVI6K9+Zh6vNpWpnCW +crP8iCn4T3jo2PxU56dwA63xOtkTdYWphaGL4J63flsZysPQ817uuHV/XLu1VwHE +cBpcTWyXL9LB7rgqrVSIzw== + + +MIIH8TCCBdmgAwIBAgIIQxaPJd4YTlMwDQYJKoZIhvcNAQELBQAwgbYxIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMSYwJAYDVQQDEx1DQSBBTkRF +UyBTQ0QgUy5BLiBDbGFzZSBJSSB2MzEwMC4GA1UECxMnRGl2aXNpb24gZGUgY2Vy +dGlmaWNhY2lvbiBlbnRpZGFkIGZpbmFsMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDAS +BgNVBAcTC0JvZ290YSBELkMuMQswCQYDVQQGEwJDTzAeFw0yNDA1MTYwNTAwMDBa +Fw0yNTA1MTYwNDU5MDBaMIIBQDEtMCsGA1UECRMkVFYgNDYgQyA0MiBFU1RFIDc4 +OSBDT1JSIFNBTlRBIEVMRU5BMSIwIAYJKoZIhvcNAQkBFhNiaWNpcGl6emFAZ21h +aWwuY29tMRowGAYDVQQDExFCSUNJIFBJWlpBIFMuQS5TLjETMBEGA1UEBRMKOTAx +NTc1NTI4MjE2MDQGA1UEDBMtRW1pc29yIEZhY3R1cmEgRWxlY3Ryb25pY2EgLSBQ +ZXJzb25hIEp1cmlkaWNhMTswOQYDVQQLEzJFbWl0aWRvIHBvciBBbmRlcyBTQ0Qg +QWMgMjYgNjkgQyAwMyBUb3JyZSBCIE9mIDcwMTEQMA4GA1UEChMHR0VSRU5URTES +MBAGA1UEBwwJTUVERUxMw41OMRIwEAYDVQQIEwlBTlRJT1FVSUExCzAJBgNVBAYT +AkNPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5J1O+4ZedrSBUsb+ +9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5/wra04OU57cS1/+/ +yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/PbswnrKukFU2acxISwT +Lu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SIiqqPwHKh+6EDIoou +jo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891KBA9Yebdw7m/+ufu ++eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWnspvDK97D8YG0MeifP +YveIPwIDAQABo4ICdDCCAnAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRA/iZp +RzInMtGsIcgu7M+N1TVo6DBvBggrBgEFBQcBAQRjMGEwNgYIKwYBBQUHMAKGKmh0 +dHA6Ly9jZXJ0cy5hbmRlc3NjZC5jb20uY28vQ2xhc2VJSXYzLmNydDAnBggrBgEF +BQcwAYYbaHR0cDovL29jc3AuYW5kZXNzY2QuY29tLmNvMB4GA1UdEQQXMBWBE2Jp +Y2lwaXp6YUBnbWFpbC5jb20wggEjBgNVHSAEggEaMIIBFjCBwQYNKwYBBAGB9EgB +AgYIADCBrzCBrAYIKwYBBQUHAgIwgZ8MgZxMYSB1dGlsaXphY2nDs24gZGUgZXN0 +ZSBjZXJ0aWZpY2FkbyBlc3TDoSBzdWpldGEgYSBsYSBQQyBkZSBGYWN0dXJhY2nD +s24gRWxlY3Ryw7NuaWNhIHkgRFBDIGVzdGFibGVjaWRhcyBwb3IgQW5kZXMgU0NE +LiBDw7NkaWdvIGRlIEFjcmVkaXRhY2nDs246IDE2LUVDRC0wMDQwUAYNKwYBBAGB +9EgBAQEKADA/MD0GCCsGAQUFBwIBFjFodHRwczovL3d3dy5hbmRlc3NjZC5jb20u +Y28vZG9jcy9EUENfQW5kZXNTQ0QucGRmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDBDA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmFuZGVzc2NkLmNv +bS5jby9DbGFzZUlJdjMuY3JsMB0GA1UdDgQWBBRKPoh3BJM7SxEL0UXkSne2MyFO +jjAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIBAA6Zzor3kpJ6vNKv +TAeHaMfmJ/PaghQ1+Lab7Pwk+lsPsMETFu/IpEK5qij2bV54UNnqyLYOZtIbnWTG +qgT7QxQvy+/of/I3zzF+kH4/Lp2TSlHaDEb/airCZ3I2G23M9iaZzSwYuOsOaGwp +4ovkXlYwQ7FVNfIIoAq95m9cBAigb06bRIlVBVTQq44hQFQQG6aSIT7SSPtCwPhB +5CJzG09pmgbxizqN/yxdjWdfW6Av79dh6K4uQT++Vtyp5DuAkmfn0ehayrUbDLkH +9jQFF128U5pnOPfKWf22acXqQBapesUSV/HZUZ3PXoWeHWXcMdz0azxOEunS4+px +fs5UzInRAmEcYwJHqJT3irFz+J2RsZ0WnJHrTGqFoXniQQH8QbCHehDTGN7/v/v1 +LQBr5PQBnSEWhmrQ9uFrwPyMMg3yd+L75TaHLZ0MTSVezAG52oM9jBiU5tYXkSio +EfPdIsGlG74BybULGSG2OlTINlblj/lj7pL67V+gY9EGN1zzNKL5sW4YXlXewa6K +dTpLmmzWzI8Cm+tOuuJDSHSwMjn525O+Z/oyKLjdQdyfg1KnZYwNZFpMmCwfP5nd +cm4F7Anzb9HX9ciluAxc6as9TsNoDDTSAGPuUr0QvXqXd9ZCgXdNzdFeiaYknLP5 +hT4f5CoO2M8qcG+CH7HnkaOHrSuK + + + +5J1O+4ZedrSBUsb+9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5 +/wra04OU57cS1/+/yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/Pbs +wnrKukFU2acxISwTLu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SI +iqqPwHKh+6EDIooujo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891 +KBA9Yebdw7m/+ufu+eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWns +pvDK97D8YG0MeifPYveIPw== +AQAB + + + +2025-03-16T16:49:57.777363YcIPspAVFcNg+B/galYrdCLYvLIEwFI4KWdSzcuupPY=C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II v3, OID.1.2.840.113549.1.9.1=info@andesscd.com.co4834208642831502931https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdfPolítica de firma para facturas electrónicas de la República de Colombia.dMoMvtcG5aIzgYo0tIsSQeVJBDnUnfSOfBpxXrmor0Y=supplierfalsehttps://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=f498037db4d2f7c42224fbdc958d031927f17f0ad4e4c1f4a3e85d6363d68f3f951860873e6899937c080f03b0bd0ceb2024-04-3002400000.00192000.002208000.00 \ No newline at end of file diff --git a/examples/habilitacion/N000001.zip b/examples/habilitacion/N000001.zip new file mode 100644 index 0000000000000000000000000000000000000000..267f89f9fca3ab3aa9f1422751c14bcf3b7b3d42 GIT binary patch literal 5052 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 MKilvhqeDacA0&p`{{R30 literal 0 HcmV?d00001 diff --git a/examples/habilitacion/N000002.py b/examples/habilitacion/N000002.py new file mode 100644 index 0000000..17bedf4 --- /dev/null +++ b/examples/habilitacion/N000002.py @@ -0,0 +1,123 @@ + +from facho import fe + +SOFTWARE_PIN='20234' +SOFTWARE_ID='100b0d10-0ca0-4ad4-a894-b704a568cbf3' +NIT='901575528' +DV='2' + +def extensions(nomina): + return [] + +def nomina(): + nomina = fe.nomina.DIANNominaIndividual() + + nomina.asignar_fecha_pago('2024-04-30') + + nomina.asignar_metadata(fe.nomina.Metadata( + novedad=fe.nomina.Novedad(value='false'), + secuencia=fe.nomina.NumeroSecuencia( + prefijo='N', + consecutivo='000002' + ), + lugar_generacion=fe.nomina.Lugar( + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + ), + proveedor=fe.nomina.Proveedor( + razon_social='BICI PIZZA S.A.S', + nit=NIT, + dv=DV, + software_id=SOFTWARE_ID, + software_pin=SOFTWARE_PIN + ) + )) + + nomina.asignar_periodo(fe.nomina.Periodo( + fecha_ingreso= '2022-09-05', + fecha_liquidacion_inicio='2024-04-01', + fecha_liquidacion_fin='2024-04-30', + fecha_generacion='2024-04-30' + )) + + nomina.asignar_informacion_general(fe.nomina.InformacionGeneral( + fecha_generacion = '2024-04-30', + hora_generacion = '08:01:00-05:00', + tipo_ambiente = fe.nomina.InformacionGeneral.AMBIENTE_PRUEBAS, + software_pin = SOFTWARE_PIN, + periodo_nomina = fe.nomina.PeriodoNomina(code='1'), + tipo_moneda = fe.nomina.TipoMoneda(code='COP') + )) + + nomina.asignar_pago(fe.nomina.Pago( + forma=fe.nomina.FormaPago( + code='1', + ), + metodo=fe.nomina.MetodoPago( + code='10' + ) + )) + nomina.asignar_empleador(fe.nomina.Empleador( + razon_social='BICI PIZZA S.A.S', + nit = NIT, + dv = DV, + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + direccion = 'calle etrivial' + )) + + nomina.asignar_trabajador(fe.nomina.Trabajador( + tipo_contrato = fe.nomina.TipoContrato( + code = '1' + ), + alto_riesgo = False, + tipo_documento = fe.nomina.TipoDocumento( + code = '11' + ), + primer_apellido = 'GIRALDO', + segundo_apellido = '', + primer_nombre = 'VIVIANA', + lugar_trabajo = fe.nomina.LugarTrabajo( + pais = fe.nomina.Pais(code='CO'), + departamento = fe.nomina.Departamento(code='05'), + municipio = fe.nomina.Municipio(code='05001'), + direccion = 'CL 35C 102-17 BL 7 AP 101' + ), + numero_documento = NIT, + tipo = fe.nomina.TipoTrabajador( + code = '01' + ), + salario_integral = False, + sueldo = fe.nomina.Amount(1160000) + )) + + nomina.adicionar_devengado(fe.nomina.DevengadoBasico( + dias_trabajados = 30, + sueldo_trabajado = fe.nomina.Amount(1160000) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionSalud( + porcentaje = fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(46400) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionFondoPension( + porcentaje=fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(46400) + )) + return nomina + diff --git a/examples/habilitacion/N000002.xml b/examples/habilitacion/N000002.xml new file mode 100644 index 0000000..db7742d --- /dev/null +++ b/examples/habilitacion/N000002.xml @@ -0,0 +1,89 @@ + + + + + + + + + + +OZ66ZARE1QPKfYYk+BdiEnO0675e7p00fGwhb/Iyd5s= + + + +jZRqaYdQrLDYoqJmrKrLoO2ZHlGX1Xo5IpGFAznaQnI= + + + + + + +XNMT1fgTLgeuUDfYH//8aY/TqzhsRcScSySL/6nKwxE= + + +fHBH/GVqHYi8iFbtTUwLUaVerZjfoj64Toq5jE+qi/HLmwhtDCAK2V/ISn0VDxpJ +3QrAqWw/VjTFEqWmRV7mCxybM98A/+5yeWbvDkG2eY5fUOUHin9+oomysY8cwLjA +joXsvjEJlM1YIndzWG/Dryr14Hcax6ItVSaopA+1BpUoFn/5jWwZXsbmq0jHDjsI +Vyk1WpZzYwmM/aGZg7gj/pR7kZZOnv4d3L/MnFP6vJRdRNtRwO73wBd5lYGU1KaB +iTimrV2gBwg0+o5bqloSaQEtqV87adJG0h3eosSiIhrG9rc9rOpvqqq7tG2nAxRx +NyPM8gwuKoaoU9ogvRsqHQ== + + +MIIH8TCCBdmgAwIBAgIIQxaPJd4YTlMwDQYJKoZIhvcNAQELBQAwgbYxIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMSYwJAYDVQQDEx1DQSBBTkRF +UyBTQ0QgUy5BLiBDbGFzZSBJSSB2MzEwMC4GA1UECxMnRGl2aXNpb24gZGUgY2Vy +dGlmaWNhY2lvbiBlbnRpZGFkIGZpbmFsMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDAS +BgNVBAcTC0JvZ290YSBELkMuMQswCQYDVQQGEwJDTzAeFw0yNDA1MTYwNTAwMDBa +Fw0yNTA1MTYwNDU5MDBaMIIBQDEtMCsGA1UECRMkVFYgNDYgQyA0MiBFU1RFIDc4 +OSBDT1JSIFNBTlRBIEVMRU5BMSIwIAYJKoZIhvcNAQkBFhNiaWNpcGl6emFAZ21h +aWwuY29tMRowGAYDVQQDExFCSUNJIFBJWlpBIFMuQS5TLjETMBEGA1UEBRMKOTAx +NTc1NTI4MjE2MDQGA1UEDBMtRW1pc29yIEZhY3R1cmEgRWxlY3Ryb25pY2EgLSBQ +ZXJzb25hIEp1cmlkaWNhMTswOQYDVQQLEzJFbWl0aWRvIHBvciBBbmRlcyBTQ0Qg +QWMgMjYgNjkgQyAwMyBUb3JyZSBCIE9mIDcwMTEQMA4GA1UEChMHR0VSRU5URTES +MBAGA1UEBwwJTUVERUxMw41OMRIwEAYDVQQIEwlBTlRJT1FVSUExCzAJBgNVBAYT +AkNPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5J1O+4ZedrSBUsb+ +9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5/wra04OU57cS1/+/ +yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/PbswnrKukFU2acxISwT +Lu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SIiqqPwHKh+6EDIoou +jo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891KBA9Yebdw7m/+ufu ++eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWnspvDK97D8YG0MeifP +YveIPwIDAQABo4ICdDCCAnAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRA/iZp +RzInMtGsIcgu7M+N1TVo6DBvBggrBgEFBQcBAQRjMGEwNgYIKwYBBQUHMAKGKmh0 +dHA6Ly9jZXJ0cy5hbmRlc3NjZC5jb20uY28vQ2xhc2VJSXYzLmNydDAnBggrBgEF +BQcwAYYbaHR0cDovL29jc3AuYW5kZXNzY2QuY29tLmNvMB4GA1UdEQQXMBWBE2Jp +Y2lwaXp6YUBnbWFpbC5jb20wggEjBgNVHSAEggEaMIIBFjCBwQYNKwYBBAGB9EgB +AgYIADCBrzCBrAYIKwYBBQUHAgIwgZ8MgZxMYSB1dGlsaXphY2nDs24gZGUgZXN0 +ZSBjZXJ0aWZpY2FkbyBlc3TDoSBzdWpldGEgYSBsYSBQQyBkZSBGYWN0dXJhY2nD +s24gRWxlY3Ryw7NuaWNhIHkgRFBDIGVzdGFibGVjaWRhcyBwb3IgQW5kZXMgU0NE +LiBDw7NkaWdvIGRlIEFjcmVkaXRhY2nDs246IDE2LUVDRC0wMDQwUAYNKwYBBAGB +9EgBAQEKADA/MD0GCCsGAQUFBwIBFjFodHRwczovL3d3dy5hbmRlc3NjZC5jb20u +Y28vZG9jcy9EUENfQW5kZXNTQ0QucGRmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDBDA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmFuZGVzc2NkLmNv +bS5jby9DbGFzZUlJdjMuY3JsMB0GA1UdDgQWBBRKPoh3BJM7SxEL0UXkSne2MyFO +jjAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIBAA6Zzor3kpJ6vNKv +TAeHaMfmJ/PaghQ1+Lab7Pwk+lsPsMETFu/IpEK5qij2bV54UNnqyLYOZtIbnWTG +qgT7QxQvy+/of/I3zzF+kH4/Lp2TSlHaDEb/airCZ3I2G23M9iaZzSwYuOsOaGwp +4ovkXlYwQ7FVNfIIoAq95m9cBAigb06bRIlVBVTQq44hQFQQG6aSIT7SSPtCwPhB +5CJzG09pmgbxizqN/yxdjWdfW6Av79dh6K4uQT++Vtyp5DuAkmfn0ehayrUbDLkH +9jQFF128U5pnOPfKWf22acXqQBapesUSV/HZUZ3PXoWeHWXcMdz0azxOEunS4+px +fs5UzInRAmEcYwJHqJT3irFz+J2RsZ0WnJHrTGqFoXniQQH8QbCHehDTGN7/v/v1 +LQBr5PQBnSEWhmrQ9uFrwPyMMg3yd+L75TaHLZ0MTSVezAG52oM9jBiU5tYXkSio +EfPdIsGlG74BybULGSG2OlTINlblj/lj7pL67V+gY9EGN1zzNKL5sW4YXlXewa6K +dTpLmmzWzI8Cm+tOuuJDSHSwMjn525O+Z/oyKLjdQdyfg1KnZYwNZFpMmCwfP5nd +cm4F7Anzb9HX9ciluAxc6as9TsNoDDTSAGPuUr0QvXqXd9ZCgXdNzdFeiaYknLP5 +hT4f5CoO2M8qcG+CH7HnkaOHrSuK + + + +5J1O+4ZedrSBUsb+9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5 +/wra04OU57cS1/+/yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/Pbs +wnrKukFU2acxISwTLu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SI +iqqPwHKh+6EDIooujo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891 +KBA9Yebdw7m/+ufu+eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWns +pvDK97D8YG0MeifPYveIPw== +AQAB + + + +2025-03-16T16:50:01.250573YcIPspAVFcNg+B/galYrdCLYvLIEwFI4KWdSzcuupPY=C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II v3, OID.1.2.840.113549.1.9.1=info@andesscd.com.co4834208642831502931https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdfPolítica de firma para facturas electrónicas de la República de Colombia.dMoMvtcG5aIzgYo0tIsSQeVJBDnUnfSOfBpxXrmor0Y=supplierfalsehttps://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=cb2e6968a811c661ebdc8b8cd19a323ca05471c2fe3c3b1cfb5275379d7df94d6c22f9405d732295e805095e366a99fa2024-04-3001160000.0092800.001067200.00 \ No newline at end of file diff --git a/examples/habilitacion/N000002.zip b/examples/habilitacion/N000002.zip new file mode 100644 index 0000000000000000000000000000000000000000..c2bb6f2881f11bfae94dbafca58332779fda7a7d GIT binary patch literal 5057 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 T``=fze_HRKZT=6`0RaC4#S^!K literal 0 HcmV?d00001 diff --git a/examples/habilitacion/N000003.py b/examples/habilitacion/N000003.py new file mode 100644 index 0000000..fc8a1ab --- /dev/null +++ b/examples/habilitacion/N000003.py @@ -0,0 +1,123 @@ + +from facho import fe + +SOFTWARE_PIN='20234' +SOFTWARE_ID='100b0d10-0ca0-4ad4-a894-b704a568cbf3' +NIT='901575528' +DV='2' + +def extensions(nomina): + return [] + +def nomina(): + nomina = fe.nomina.DIANNominaIndividual() + + nomina.asignar_fecha_pago('2024-04-30') + + nomina.asignar_metadata(fe.nomina.Metadata( + novedad=fe.nomina.Novedad(value='false'), + secuencia=fe.nomina.NumeroSecuencia( + prefijo='N', + consecutivo='000003' + ), + lugar_generacion=fe.nomina.Lugar( + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + ), + proveedor=fe.nomina.Proveedor( + razon_social='BICI PIZZA S.A.S', + nit=NIT, + dv=DV, + software_id=SOFTWARE_ID, + software_pin=SOFTWARE_PIN + ) + )) + + nomina.asignar_periodo(fe.nomina.Periodo( + fecha_ingreso= '2022-01-05', + fecha_liquidacion_inicio='2024-04-01', + fecha_liquidacion_fin='2024-04-30', + fecha_generacion='2024-04-30' + )) + + nomina.asignar_informacion_general(fe.nomina.InformacionGeneral( + fecha_generacion = '2024-04-30', + hora_generacion = '08:01:00-05:00', + tipo_ambiente = fe.nomina.InformacionGeneral.AMBIENTE_PRUEBAS, + software_pin = SOFTWARE_PIN, + periodo_nomina = fe.nomina.PeriodoNomina(code='1'), + tipo_moneda = fe.nomina.TipoMoneda(code='COP') + )) + + nomina.asignar_pago(fe.nomina.Pago( + forma=fe.nomina.FormaPago( + code='1', + ), + metodo=fe.nomina.MetodoPago( + code='10' + ) + )) + nomina.asignar_empleador(fe.nomina.Empleador( + razon_social='BICI PIZZA S.A.S', + nit = NIT, + dv = DV, + pais = fe.nomina.Pais( + code = 'CO' + ), + departamento = fe.nomina.Departamento( + code = '05' + ), + municipio = fe.nomina.Municipio( + code = '05001' + ), + direccion = 'calle etrivial' + )) + + nomina.asignar_trabajador(fe.nomina.Trabajador( + tipo_contrato = fe.nomina.TipoContrato( + code = '1' + ), + alto_riesgo = False, + tipo_documento = fe.nomina.TipoDocumento( + code = '11' + ), + primer_apellido = 'GONZALEZ', + segundo_apellido = '', + primer_nombre = 'JUAN', + lugar_trabajo = fe.nomina.LugarTrabajo( + pais = fe.nomina.Pais(code='CO'), + departamento = fe.nomina.Departamento(code='05'), + municipio = fe.nomina.Municipio(code='05001'), + direccion = 'CL 35C 102-17 BL 7 AP 101' + ), + numero_documento = NIT, + tipo = fe.nomina.TipoTrabajador( + code = '01' + ), + salario_integral = False, + sueldo = fe.nomina.Amount(2400000) + )) + + nomina.adicionar_devengado(fe.nomina.DevengadoBasico( + dias_trabajados = 30, + sueldo_trabajado = fe.nomina.Amount(2400000) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionSalud( + porcentaje = fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(96000) + )) + + nomina.adicionar_deduccion(fe.nomina.DeduccionFondoPension( + porcentaje=fe.nomina.Amount(4), + deduccion = fe.nomina.Amount(96000) + )) + return nomina + diff --git a/examples/habilitacion/N000003.xml b/examples/habilitacion/N000003.xml new file mode 100644 index 0000000..101fd1d --- /dev/null +++ b/examples/habilitacion/N000003.xml @@ -0,0 +1,89 @@ + + + + + + + + + + +mf3prH7SIB1Df0Z/nOPdRGG0DKXP8oCra41918zaCyg= + + + +H3dF/siCNdG6iSy15jUQct1k4qswXBZToWJH6tsptpk= + + + + + + +IqiqJKHTI0OAWva1xZ+ZOk9ooGkzEa4hReQCr4/W778= + + +Nv0nFvZ4Y3KIaPODEiOFgThDYb+DNKlJrRUAOrIxcNvtotpK7Y91JnYbUgFvl28b +Z5V/catUMyOclGDjPzslTBcHXExleb5eIgUB8URdNvdrB78iXFUOfPc+ESFomru8 +jyPX9cZw24ZYBmQqqusvqIkf/tIARFGZ+7AzXkp28dBRFyWtgjESn60DIrFjm9x5 +Pthv1K95gytjrrpwvdk77KN4uumlCbGoc2Pizbj+ufijbnxEPDS7fS7RR0Qv9uz/ +2X7znR10TK8+gwMz7AVRYQi90ZbhOadxf3j+HVAlHtw+JHbrPSC+7xBOiPPStY6o +6TkQU+ZMpz2IUovjqREXow== + + +MIIH8TCCBdmgAwIBAgIIQxaPJd4YTlMwDQYJKoZIhvcNAQELBQAwgbYxIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMSYwJAYDVQQDEx1DQSBBTkRF +UyBTQ0QgUy5BLiBDbGFzZSBJSSB2MzEwMC4GA1UECxMnRGl2aXNpb24gZGUgY2Vy +dGlmaWNhY2lvbiBlbnRpZGFkIGZpbmFsMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDAS +BgNVBAcTC0JvZ290YSBELkMuMQswCQYDVQQGEwJDTzAeFw0yNDA1MTYwNTAwMDBa +Fw0yNTA1MTYwNDU5MDBaMIIBQDEtMCsGA1UECRMkVFYgNDYgQyA0MiBFU1RFIDc4 +OSBDT1JSIFNBTlRBIEVMRU5BMSIwIAYJKoZIhvcNAQkBFhNiaWNpcGl6emFAZ21h +aWwuY29tMRowGAYDVQQDExFCSUNJIFBJWlpBIFMuQS5TLjETMBEGA1UEBRMKOTAx +NTc1NTI4MjE2MDQGA1UEDBMtRW1pc29yIEZhY3R1cmEgRWxlY3Ryb25pY2EgLSBQ +ZXJzb25hIEp1cmlkaWNhMTswOQYDVQQLEzJFbWl0aWRvIHBvciBBbmRlcyBTQ0Qg +QWMgMjYgNjkgQyAwMyBUb3JyZSBCIE9mIDcwMTEQMA4GA1UEChMHR0VSRU5URTES +MBAGA1UEBwwJTUVERUxMw41OMRIwEAYDVQQIEwlBTlRJT1FVSUExCzAJBgNVBAYT +AkNPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5J1O+4ZedrSBUsb+ +9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5/wra04OU57cS1/+/ +yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/PbswnrKukFU2acxISwT +Lu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SIiqqPwHKh+6EDIoou +jo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891KBA9Yebdw7m/+ufu ++eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWnspvDK97D8YG0MeifP +YveIPwIDAQABo4ICdDCCAnAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRA/iZp +RzInMtGsIcgu7M+N1TVo6DBvBggrBgEFBQcBAQRjMGEwNgYIKwYBBQUHMAKGKmh0 +dHA6Ly9jZXJ0cy5hbmRlc3NjZC5jb20uY28vQ2xhc2VJSXYzLmNydDAnBggrBgEF +BQcwAYYbaHR0cDovL29jc3AuYW5kZXNzY2QuY29tLmNvMB4GA1UdEQQXMBWBE2Jp +Y2lwaXp6YUBnbWFpbC5jb20wggEjBgNVHSAEggEaMIIBFjCBwQYNKwYBBAGB9EgB +AgYIADCBrzCBrAYIKwYBBQUHAgIwgZ8MgZxMYSB1dGlsaXphY2nDs24gZGUgZXN0 +ZSBjZXJ0aWZpY2FkbyBlc3TDoSBzdWpldGEgYSBsYSBQQyBkZSBGYWN0dXJhY2nD +s24gRWxlY3Ryw7NuaWNhIHkgRFBDIGVzdGFibGVjaWRhcyBwb3IgQW5kZXMgU0NE +LiBDw7NkaWdvIGRlIEFjcmVkaXRhY2nDs246IDE2LUVDRC0wMDQwUAYNKwYBBAGB +9EgBAQEKADA/MD0GCCsGAQUFBwIBFjFodHRwczovL3d3dy5hbmRlc3NjZC5jb20u +Y28vZG9jcy9EUENfQW5kZXNTQ0QucGRmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDBDA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmFuZGVzc2NkLmNv +bS5jby9DbGFzZUlJdjMuY3JsMB0GA1UdDgQWBBRKPoh3BJM7SxEL0UXkSne2MyFO +jjAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIBAA6Zzor3kpJ6vNKv +TAeHaMfmJ/PaghQ1+Lab7Pwk+lsPsMETFu/IpEK5qij2bV54UNnqyLYOZtIbnWTG +qgT7QxQvy+/of/I3zzF+kH4/Lp2TSlHaDEb/airCZ3I2G23M9iaZzSwYuOsOaGwp +4ovkXlYwQ7FVNfIIoAq95m9cBAigb06bRIlVBVTQq44hQFQQG6aSIT7SSPtCwPhB +5CJzG09pmgbxizqN/yxdjWdfW6Av79dh6K4uQT++Vtyp5DuAkmfn0ehayrUbDLkH +9jQFF128U5pnOPfKWf22acXqQBapesUSV/HZUZ3PXoWeHWXcMdz0azxOEunS4+px +fs5UzInRAmEcYwJHqJT3irFz+J2RsZ0WnJHrTGqFoXniQQH8QbCHehDTGN7/v/v1 +LQBr5PQBnSEWhmrQ9uFrwPyMMg3yd+L75TaHLZ0MTSVezAG52oM9jBiU5tYXkSio +EfPdIsGlG74BybULGSG2OlTINlblj/lj7pL67V+gY9EGN1zzNKL5sW4YXlXewa6K +dTpLmmzWzI8Cm+tOuuJDSHSwMjn525O+Z/oyKLjdQdyfg1KnZYwNZFpMmCwfP5nd +cm4F7Anzb9HX9ciluAxc6as9TsNoDDTSAGPuUr0QvXqXd9ZCgXdNzdFeiaYknLP5 +hT4f5CoO2M8qcG+CH7HnkaOHrSuK + + + +5J1O+4ZedrSBUsb+9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5 +/wra04OU57cS1/+/yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/Pbs +wnrKukFU2acxISwTLu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SI +iqqPwHKh+6EDIooujo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891 +KBA9Yebdw7m/+ufu+eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWns +pvDK97D8YG0MeifPYveIPw== +AQAB + + + +2025-03-16T16:51:23.354553YcIPspAVFcNg+B/galYrdCLYvLIEwFI4KWdSzcuupPY=C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II v3, OID.1.2.840.113549.1.9.1=info@andesscd.com.co4834208642831502931https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdfPolítica de firma para facturas electrónicas de la República de Colombia.dMoMvtcG5aIzgYo0tIsSQeVJBDnUnfSOfBpxXrmor0Y=supplierfalsehttps://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=beae68d136b80593b01b5cd7594bc86cc2f6ffd17d0238e5842e29ef6dfde62d26cb959764b6bf0943e73149596bfec02024-04-3002400000.00192000.002208000.00 \ No newline at end of file diff --git a/examples/habilitacion/N000003.zip b/examples/habilitacion/N000003.zip new file mode 100644 index 0000000000000000000000000000000000000000..ce288a8a25ada0809c912fac4e9dfc925576a02a GIT binary patch literal 5055 zcmZ{oXE+;xx5i`dJ&G!=QPirfwMwbIcg3EusXZHthT5yt-aBdwp{P-<5u-|CQ!BAa zYsBsU-cR>F&pq$+o^w8&@9%kj2HFIKi~sDS?3j09fP)04MN)QI@mR%U&G=h@9C)+uxyB)1Y=q7GF8=lqDCU2vK-tQ?*fkyo>QW>v zhVTACt4?{WIfdfe0Sbj6Dm>`Ft>iL&J5muK&laJmk>)b~A}s-Zjqywddp$-MvavG8 zYfFwGoBOPkrJ`ju+gEbrrwZT_NQx3SV z{wU^QxN16b?0n2_pRS}gBS(poBlKjzO_Lt@H@jDnMTw?mPD;X@@xZiSMznE<1dMi#q zv9#H(7x&`iul%;U&w36{2WG^9FRp67ct9f)DIFl!h)kS*$Z1x-jA8m_ocMpi51qcIC{_%|*jgeY zrhQyN1;af)L+AI>`rSs&-o%-&hu;QUT;N@`91$276_ zt47CSGD`RxZSGAYa?*)mJxPSS$#{W}NvSG|)=MR0k6d)`CgJukgl&%!;yXE7oZ+cs&? zOQFsJiJp0t9wAKy+YC?XB@gv^ATxotz+`}RmfpLXPx3w(%5G_evz(NJmGd9R+{O1W zMG=;HH(w+}jo=z_Po@=8K57kWQYG8Gh>2rH@?aXnjD0jGC#5>?p$C9Sp>Jz$*AaFJ zuX^{t$yIhHV&DaJ@kSa8*$GB;$CoRl1qWq(mRmpAjzAJcZ-nqT+0A*9M0IW0Fmu59 zS(RzQks=dH)q_Fh?k`jMV{~=xLXt^>Cg~*YiEhj9H?jmEq!t{O`L!xxrmF_Q5}|vb zjhWdg_NJ>|d0t9Ox(6_6=}-h0aTS+GFB3~I*My1V_;Fn=BRO^#{6N%4k~8nV9K3`I zE8fWk(WUy4L=KvNpSW^=yv0th9n5tW8%leY*zghy_grnY9>Tg9%pms|m;&n9d)W>4{fXEKb$2J)mGUB1|j@OhT@0$%P zSaivQD%DK{g-6T*>NCy{k!JvsH=8x*f6F(|Qj3n=uYebG!uW1If_P8nB$V1~2Uv$= zN;J?Mc&0Tu74;}#4r%w*FRqUVLGBhAmd2rn?#70c4SPD`RebFwkdxTE?3p{#HL%*4 z#G5CD?s>0LMqs7%41F9nzZ~v0o@t(+*s_>-l1HsM9a60t)_TgbQ@`=eP3oZkFQ>$ zrA51;Ui&pZTvO((%tISa_Od#6GhH@rct9DWvKf~-v_sv)P3$mhax-Labe{0Z#fmfk%!>joEF^EzcZl&qQX|C`DDhQFQ3yILjcdnVhH@@%y!@z0DTcXFAwJR7 z#$)j1(pS-;ijVCVh>TUnj`gKZdb#Nm5&CjWIEXdr)eiQCT6@o%NcLBIPF!$)T5eZP(H``$epEf zi5|5_$#SkP#&H6bUgr3%?V9Youdy|m)yXd>iGMqUDsN-ZiNFxsl6W)zuI(9O{ud9# zo~LL89T)&{&emJ?zCpa!wly~exns(}mz52Gq%L^DX{kc4<2B5GJ#^;MU4pOlpl)o; z3M_hFX_hx|5n^`whb;lUp$gU)*-Z%Vq|3$*S_PW=1R5FUaT{QC5Gpl6@eW~vbs8^w z<6D|qIDeS)k8T%6{-z_&VadB0E*u3TGv#?6swu&ueh0fn`8-?j4Hm0;H?IZ4su%{e z^)`@bMeneRi#~xb4r9LcEr0SdRQOfGX7DR(V~w9uYxJlTn5{=WJ zi&H^%_NaL;!7|m9DhULwuL7}sjhckbg?&gAa&VVooi zP4E}MQphZ5DM7==0$t7WwU(~xip+BAQG2Z6*`tCBQ~@SEA-DE;ru>ejK}pi-_nuYx ze?nx>2|w{tLEfk89vWFSdHvz`&`*H_4+n3=1Yv&axYs61sgcd*Aw1BaBLC zc>m*X9)`qk@ldhBwV9#CkfTMuJOAnCvv13j%NM;959AtpKs0;6&io0>pcGcIouKQ$ z_d`^&e8yJnm@BEE`tRb(LDf1Ris%=H{^qL^1^Z2h(hdcuz7 z*nxVE0yMfX)?)XAth}-^C*SaI$~`4GdppA@F57&984dG4^6cjf^}%W7YP$zv{q;x{ zPH)xv>cD31ARc$_Lj8}B$%HD&RWw84#CFBU0@L~ON$)pv_CnK~jlT2ZuE&EHEaFCs z!bkdfo{*SnxJ~%ir@+#} zX|0rbxIqJ-&hF0w1>xYXV~5trwoGhnf!s5%v=*~EwKBInpihQALmSeDomr%ZzBjJk z8pwKO*G-|$P}T8ySBhKJ(Fns)U}L-+e6>#f;Tn=hQ?GEo^DpR=uljD)tTq!KblCfI zlFjeg6!k?NqF24p?Nf!fJ<0IP?$+qe&kKsdmq*f2EgCCe>A)XIrhDVMly;ffPI(Kbop( zqOTq{htXSQsXzrQlCRl{_1XIFeq4q$pBU~V%h!AUjFOFsd|w?hr{~LK)@y&?q1IN+ zx{+5=#2@d%vQKh(hEB!jX#Fj1l)(Xox{^Zginx=f_}H}7^D4w-G9OHMoPH#Uao!*= z-}ZYajc!q)*=Y*(JC!dIidIB)eZtmkXO~rgs2La@E0WqA(e#^_5z~?mCOySjMV=3; z+hl=Ze|Y3?8x^D0RlWjci0GDeY*p`eb6vj$-uqc7r>Cd+VtudYOC$7_mN2@WVkzm% z{4?FG9~s@=ihlZmj{pJ>~((Us^z}#E4?=C%hoh;lAo%d1^ zr?UR#Fv>zI0~Jv)=zQkI@>|b!RSH+Oh4l33F~jyJ6uB{ji~Wm?Lv@-t)DLKqv0W#5R#x-X~;|bXHWYji_AWkYFt~XdjyA$0KCxK~lgr-vwcd3@LKFW;EC5Dn}MV2*~0q0471cR&I zZW(uI^n0 zv>#~{Og#E~UDy)4bMHR>uR|E&d`FLLY|dA*Pkt!sp_z_ZFFERNZ|H&u!p|>bU!_Vr zGtDVI@o*{5Ylat@G9m6+t&8*uPi~bYl4DfnriaB*;|Riyv7?ypi8FiVSdxoHOi#hc zhmgVI1FX+eE<$&9UREJ(u`tEt@%|;HJHtMmCT*JG9>X1j>{sl~r;XdAbpDZh76E*5 z&ch;Sl*7zd%i`DU^OezbYZr>+Zxi1K7yE6nsv8cJtR`OxGeD18>L~>l3=xVyiJa&3 zXa@}FY|Epp(MnYAtVA=4)DN{%x6J);3vaZ}8Fpo}t=MS^o2gp~y>iBBGH`)U9=10S z{<5>$GmSZqN~+*SxOm^GzH0VUW@fEHhat9J^BtLfraxt7A`RcLG2(bn)1gm4CrmFA zue_G)ayhb;cwbYnP5k_HI(a4GFf-i>Ll`$@H(ttR##CJ&hLDR%owF_dE4yPp7L|6E z((<&<_=ADEGLq|gV3f(xTsIj^7>@w&1){oy6q`YRP6B*~9JMvo$bUwuWvT(IYtuJP zGpXgy)ij?_{*+czcQS96O$2(z3t!G!fF22)5QJB+G#$;Vg}f{M_gyZ`S6k90vZeL? zWm-3@nlr7H*^dp%CjM2z_x1pbyaM9`ttzGvAnO>Zzfi@mK2f_bG)>!@#Hvj + + + + + + + + + +ZAE71pLQXXnN5+540pnkxH5ALNBQcecMdLWFKTKby0g= + + + +kNyh65TH4KfF6wqRoy1duEawgkvOlr2rYLCNfdTfK1c= + + + + + + +BoPBi5C0tXfV04cf74M4jktBxf9eVsXk5IWqGdeOSHw= + + +pw5WDlbd4GhnSAJKlTEDjsb1+VAVtyyXWA/isvGz4LHY5n1Fm4hiN7fD3JIrfOBj +z/tUfROLzbbywUnVklfaDri6txZlFFwa9SY8MO38bgE0HUxGq5khb/4uzktGRInp +H3i0TG5i42YB83PQItSLiEgPWqGVolj5sWfUqD81Ck4CvgtKuZgnn9JPLgP0sjjT +BUjKcMt4K+ZLvXumehKKCzEbtoaa5DHKUrpuCU2giGMMPElwaTulFA5kNLBnAk2n +HBCiIq+YZ2C3BqE+WQptcQDIObmEnRURvvUTB64gCh4Tigmq6vnv/dMPWmQvohmp +ETIZDwU0/xdGcUK7Ujyl4g== + + +MIIH8TCCBdmgAwIBAgIIQxaPJd4YTlMwDQYJKoZIhvcNAQELBQAwgbYxIzAhBgkq +hkiG9w0BCQEWFGluZm9AYW5kZXNzY2QuY29tLmNvMSYwJAYDVQQDEx1DQSBBTkRF +UyBTQ0QgUy5BLiBDbGFzZSBJSSB2MzEwMC4GA1UECxMnRGl2aXNpb24gZGUgY2Vy +dGlmaWNhY2lvbiBlbnRpZGFkIGZpbmFsMRIwEAYDVQQKEwlBbmRlcyBTQ0QxFDAS +BgNVBAcTC0JvZ290YSBELkMuMQswCQYDVQQGEwJDTzAeFw0yNDA1MTYwNTAwMDBa +Fw0yNTA1MTYwNDU5MDBaMIIBQDEtMCsGA1UECRMkVFYgNDYgQyA0MiBFU1RFIDc4 +OSBDT1JSIFNBTlRBIEVMRU5BMSIwIAYJKoZIhvcNAQkBFhNiaWNpcGl6emFAZ21h +aWwuY29tMRowGAYDVQQDExFCSUNJIFBJWlpBIFMuQS5TLjETMBEGA1UEBRMKOTAx +NTc1NTI4MjE2MDQGA1UEDBMtRW1pc29yIEZhY3R1cmEgRWxlY3Ryb25pY2EgLSBQ +ZXJzb25hIEp1cmlkaWNhMTswOQYDVQQLEzJFbWl0aWRvIHBvciBBbmRlcyBTQ0Qg +QWMgMjYgNjkgQyAwMyBUb3JyZSBCIE9mIDcwMTEQMA4GA1UEChMHR0VSRU5URTES +MBAGA1UEBwwJTUVERUxMw41OMRIwEAYDVQQIEwlBTlRJT1FVSUExCzAJBgNVBAYT +AkNPMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5J1O+4ZedrSBUsb+ +9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5/wra04OU57cS1/+/ +yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/PbswnrKukFU2acxISwT +Lu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SIiqqPwHKh+6EDIoou +jo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891KBA9Yebdw7m/+ufu ++eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWnspvDK97D8YG0MeifP +YveIPwIDAQABo4ICdDCCAnAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBRA/iZp +RzInMtGsIcgu7M+N1TVo6DBvBggrBgEFBQcBAQRjMGEwNgYIKwYBBQUHMAKGKmh0 +dHA6Ly9jZXJ0cy5hbmRlc3NjZC5jb20uY28vQ2xhc2VJSXYzLmNydDAnBggrBgEF +BQcwAYYbaHR0cDovL29jc3AuYW5kZXNzY2QuY29tLmNvMB4GA1UdEQQXMBWBE2Jp +Y2lwaXp6YUBnbWFpbC5jb20wggEjBgNVHSAEggEaMIIBFjCBwQYNKwYBBAGB9EgB +AgYIADCBrzCBrAYIKwYBBQUHAgIwgZ8MgZxMYSB1dGlsaXphY2nDs24gZGUgZXN0 +ZSBjZXJ0aWZpY2FkbyBlc3TDoSBzdWpldGEgYSBsYSBQQyBkZSBGYWN0dXJhY2nD +s24gRWxlY3Ryw7NuaWNhIHkgRFBDIGVzdGFibGVjaWRhcyBwb3IgQW5kZXMgU0NE +LiBDw7NkaWdvIGRlIEFjcmVkaXRhY2nDs246IDE2LUVDRC0wMDQwUAYNKwYBBAGB +9EgBAQEKADA/MD0GCCsGAQUFBwIBFjFodHRwczovL3d3dy5hbmRlc3NjZC5jb20u +Y28vZG9jcy9EUENfQW5kZXNTQ0QucGRmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr +BgEFBQcDBDA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmFuZGVzc2NkLmNv +bS5jby9DbGFzZUlJdjMuY3JsMB0GA1UdDgQWBBRKPoh3BJM7SxEL0UXkSne2MyFO +jjAOBgNVHQ8BAf8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIBAA6Zzor3kpJ6vNKv +TAeHaMfmJ/PaghQ1+Lab7Pwk+lsPsMETFu/IpEK5qij2bV54UNnqyLYOZtIbnWTG +qgT7QxQvy+/of/I3zzF+kH4/Lp2TSlHaDEb/airCZ3I2G23M9iaZzSwYuOsOaGwp +4ovkXlYwQ7FVNfIIoAq95m9cBAigb06bRIlVBVTQq44hQFQQG6aSIT7SSPtCwPhB +5CJzG09pmgbxizqN/yxdjWdfW6Av79dh6K4uQT++Vtyp5DuAkmfn0ehayrUbDLkH +9jQFF128U5pnOPfKWf22acXqQBapesUSV/HZUZ3PXoWeHWXcMdz0azxOEunS4+px +fs5UzInRAmEcYwJHqJT3irFz+J2RsZ0WnJHrTGqFoXniQQH8QbCHehDTGN7/v/v1 +LQBr5PQBnSEWhmrQ9uFrwPyMMg3yd+L75TaHLZ0MTSVezAG52oM9jBiU5tYXkSio +EfPdIsGlG74BybULGSG2OlTINlblj/lj7pL67V+gY9EGN1zzNKL5sW4YXlXewa6K +dTpLmmzWzI8Cm+tOuuJDSHSwMjn525O+Z/oyKLjdQdyfg1KnZYwNZFpMmCwfP5nd +cm4F7Anzb9HX9ciluAxc6as9TsNoDDTSAGPuUr0QvXqXd9ZCgXdNzdFeiaYknLP5 +hT4f5CoO2M8qcG+CH7HnkaOHrSuK + + + +5J1O+4ZedrSBUsb+9tjNPHI9RGeIJcJl3Wc/208OqMYcCwGLUkrYBgH78E7IayD5 +/wra04OU57cS1/+/yBUWYR60oqkaH2/8OXkJMqmjisVM/b58m7zyMw4TAF8N/Pbs +wnrKukFU2acxISwTLu36HC4hshWw8bEGP54szvv1xnwqcOAWNBCxcBuc9k1JD+SI +iqqPwHKh+6EDIooujo0H15w3rAxkHQRvYe6/IrpvH2sqJl1I3dLv0iqy9+d2l891 +KBA9Yebdw7m/+ufu+eqs+0zKrwV6QLhRFmceHzEkPMTFepc2COGf80OUNbI6WWns +pvDK97D8YG0MeifPYveIPw== +AQAB + + + +2025-03-16T16:51:26.699846YcIPspAVFcNg+B/galYrdCLYvLIEwFI4KWdSzcuupPY=C=CO, L=Bogota D.C., O=Andes SCD, OU=Division de certificacion entidad final, CN=CA ANDES SCD S.A. Clase II v3, OID.1.2.840.113549.1.9.1=info@andesscd.com.co4834208642831502931https://facturaelectronica.dian.gov.co/politicadefirma/v2/politicadefirmav2.pdfPolítica de firma para facturas electrónicas de la República de Colombia.dMoMvtcG5aIzgYo0tIsSQeVJBDnUnfSOfBpxXrmor0Y=supplierfalsehttps://catalogo-vpfe-hab.dian.gov.co/document/searchqr?documentkey=40d20d7af2d7ee471909e62fcb4beef7de82494e6c8df4e8349ca33a1246dea601b4cc9035e18972e853ecd435799eaa2024-04-3001160000.0092800.001067200.00 \ No newline at end of file diff --git a/examples/habilitacion/N000004.zip b/examples/habilitacion/N000004.zip new file mode 100644 index 0000000000000000000000000000000000000000..9dcd2c22c48dbf80bae845e452720d1753ed46be GIT binary patch literal 5056 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 + + + + TarifaImpuestoReteFuente + Tarifas por Impuesto + 1 + urn:dian:names:especificacion:ubl:listacodigos:gc:TarifaImpuestos + urn:dian:names:especificacion:ubl:listacodigos:gc:TarifaImpuestos-2.1 + http://dian.gov.co/ubl/os-ubl-2.0/cl/gc/default/TarifaImpuestos-2.1.gc + + DIAN (Dirección de Impuestos y Aduanas Nacionales) + 195 + + + + + Code + Codigo Comun + + + + Name + Nombre + + + + Description + Descripcion + + + + CodeKey + + + + + + + 2.50 + + + ReteFuente + + + Compras generales (declarantes) + + + + + 3.50 + + + ReteFuente + + + Compras generales (no declarantes) + + + + + 1.50 + + + ReteFuente + + + Compras con tarjeta débito o crédito + + + + + 1.50 + + + ReteFuente + + + Compras de bienes o productos agrícolas o pecuarios sin procesamiento industrial + + + + + 2.50 + + + ReteFuente + + + Compras de bienes o productos agrícolas o pecuarios con procesamiento industrial (declarantes) + + + + + 3.50 + + + ReteFuente + + + Compras de bienes o productos agrícolas o pecuarios con procesamiento industrial declarantes (no declarantes) + + + + + 0.50 + + + ReteFuente + + + Compras de café pergamino o cereza + + + + + 0.10 + + + ReteFuente + + + Compras de combustibles derivados del petróleo + + + + + 1.00 + + + ReteFuente + + + Enajenación de activos fijos de personas naturales (notarías y tránsito son agentes retenedores) + + + + + 1.00 + + + ReteFuente + + + Compras de vehículos + + + + + 1.00 + + + ReteFuente + + + Compras de bienes raíces cuya destinación y uso sea vivienda de habitación (por las primeras 20.000 UVT, es decir hasta $637.780.000) + + + + + 2.50 + + + ReteFuente + + + Compras  de bienes raíces cuya destinación y uso sea vivienda de habitación (exceso de las primeras 20.000 UVT, es decir superior a $637.780.000) + + + + + 2.50 + + + ReteFuente + + + Compras  de bienes raíces cuya destinación y uso sea distinto a vivienda de habitación + + + + + 4.00 + + + ReteFuente + + + Servicios generales (declarantes) + + + + + 6.00 + + + ReteFuente + + + Servicios generales (no declarantes) + + + + + 4.00 + + + ReteFuente + + + Por emolumentos eclesiásticos (declarantes) + + + + + 3.50 + + + ReteFuente + + + Por emolumentos eclesiásticos (no declarantes) + + + + + 1.00 + + + ReteFuente + + + Servicios de transporte de carga + + + + + 3.50 + + + ReteFuente + + + Servicios de  transporte nacional de pasajeros por vía terrestre (declarantes) + + + + + 3.50 + + + ReteFuente + + + Servicios de  transporte nacional de pasajeros por vía terrestre (no declarantes) + + + + + 1.00 + + + ReteFuente + + + Servicios de  transporte nacional de pasajeros por vía aérea o marítima + + + + + 1.00 + + + ReteFuente + + + Servicios prestados por empresas de servicios temporales (sobre AIU) + + + + + 2.00 + + + ReteFuente + + + Servicios prestados por empresas de vigilancia y aseo (sobre AIU) + + + + + 2.00 + + + ReteFuente + + + Servicios integrales de salud prestados por IPS + + + + + 3.50 + + + ReteFuente + + + Servicios de hoteles y restaurantes (declarantes) + + + + + 3.50 + + + ReteFuente + + + Servicios de hoteles y restaurantes (no declarantes) + + + + + 4.00 + + + ReteFuente + + + Arrendamiento de bienes muebles + + + + + 3.50 + + + ReteFuente + + + Arrendamiento de bienes inmuebles (declarantes) + + + + + 3.50 + + + ReteFuente + + + Arrendamiento de bienes inmuebles (no declarantes) + + + + + 2.50 + + + ReteFuente + + + Otros ingresos tributarios (declarantes) + + + + + 3.50 + + + ReteFuente + + + Otros ingresos tributarios (no declarantes) + + + + + 11.00 + + + ReteFuente + + + Honorarios y comisiones (personas jurídicas) + + + + + 11.00 + + + ReteFuente + + + Honorarios y comisiones personas naturales que suscriban contrato o cuya sumatoria de los pagos o abonos en cuenta superen las 3.300 UVT ($105.135.000) + + + + + 10.00 + + + ReteFuente + + + Honorarios y comisiones (no declarantes) + + + + + 3.50 + + + ReteFuente + + + Servicios de licenciamiento o derecho de uso de software + + + + + 7.00 + + + ReteFuente + + + Intereses o rendimientos financieros + + + + + 4.00 + + + ReteFuente + + + Rendimientos financieros provenientes de títulos de renta fija + + + + + 20.00 + + + ReteFuente + + + Loterías, rifas, apuestas y similares + + + + + 3.00 + + + ReteFuente + + + Retención en colocación independiente de juegos de suerte y azar + + + + + 2.00 + + + ReteFuente + + + Contratos de construcción  y urbanización + + + +