oc-facho/examples/habilitacion/N000002.py

124 lines
3.4 KiB
Python

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