Un archivo DLL es una biblioteca que contiene código y datos que pueden utilizarse por varios programas al mismo tiempo.
El archivo Afacturar.DLL procesa los datos enviados desde cualquier aplicativo que pueda invocar una dll, como Visual Basic 6.0, .NET, java, entre otros. El cual los transmite al proveedor tecnologico - TELEINTE S.A.S. para Factura electronica.
Este archivo funciona en ambiente Windows y necesitan el .Net Framework desde 4.5 para operar.
Para realizar la integración del DLL se necesitan los siguientes programas:
Pasos para la integración con Componentes COM
La cadena tiene la siguiente estructura:
variable_cadena = "variable_campo_1=valor_1 | variable_campo_2=valor_2"
Los nombre de las variables de campo no se pueden cambiar y deben seguir la estructura indicada
Valida la conectividad con el DLL
NA
Retorna un SI ,si se conecta con la DLL y NO en caso contrario
Consulta los rangos de factura de la DIAN
Retorna un json con el listado de resoluciones, fechas, rangos de numeración
Visualiza una url en un browser o navegador
N/A
Convierte un archivo PDF a Base64
Retorna un string en base64
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
Entrega de bienes
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|"
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|empresa_transportadora_lenguaje_del_pais=|empresa_transportadora_pais=|empresa_transportadora_departamento=|empresa_transportadora_ciudad= |empresa_transportadora_direccion= |empresa_transportadora_resp_calidades_atributos=,,|
empresa_transportadora_detalles_tributarios= |contacto_transportador_nombre_completo= |contacto_transportador_telefono_o_movil= |contacto_transportador_correo_electronico=|"
Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A ejemplos:
Si en entrega_de_bienes no necesita empresa_transportadora no coloque ninguna de los nombres que comienzan con empresa_transportadora igual aplica con contacto_transportador.
factura_nacionalvp(urlp, token, documento_obligado, encabezado, notas, informacion_adquiriente, nombre, detalle_factura, descuentos,retenciones, recargos, retenciones_detalle, impuestos, valor_factura, generalidades, resp_calidades_atributos, usuario_aduanero, testsetid, cambio_de_moneda, documento_referencia, entrega_de_bienes,sector, otros_impdet, otrosimp)
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
Entrega de bienes
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|"
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|empresa_transportadora_lenguaje_del_pais=|empresa_transportadora_pais=|empresa_transportadora_departamento=|empresa_transportadora_ciudad= |empresa_transportadora_direccion= |empresa_transportadora_resp_calidades_atributos=,,|
empresa_transportadora_detalles_tributarios= |contacto_transportador_nombre_completo= |contacto_transportador_telefono_o_movil= |contacto_transportador_correo_electronico=|"
Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A ejemplos:
Si en entrega_de_bienes no necesita empresa_transportadora no coloque ninguna de los nombres que comienzan con empresa_transportadora igual aplica con contacto_transportador.
factura_mandatovp(urlp,token,documento_obligado,encabezado,notas,informacion_adquiriente,detalle_factura,descuentos,retenciones,recargos,retenciones_detalle,impuestos_detalle,impuestos,Valor_factura,generalidades,resp_calidades_atributos,usuario_aduanero,informacion_mandante,contratos, testid, entrega_de_bienes,sector, otros_impdet, otrosimp)
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
Entrega de bienes
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|"
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|empresa_transportadora_lenguaje_del_pais=|empresa_transportadora_pais=|empresa_transportadora_departamento=|empresa_transportadora_ciudad= |empresa_transportadora_direccion= |empresa_transportadora_resp_calidades_atributos=,,|
empresa_transportadora_detalles_tributarios= |contacto_transportador_nombre_completo= |contacto_transportador_telefono_o_movil= |contacto_transportador_correo_electronico=|"
Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A ejemplos:
Si en entrega_de_bienes no necesita empresa_transportadora no coloque ninguna de los nombres que comienzan con empresa_transportadora igual aplica con contacto_transportador.
nota_creditovp(urlp,token,documento_obligado,encabezado,notas,informacion_adquiriente,nombre,detalle_factura,impuestos_detalle,impuestos,valor_nota_credito,generalidades,informacion_factura,resp_calidades_atributos,usuario_aduanero,recargos,descuentos, testsetid,cambio_de_moneda, retenciones,retenciones_detalle, entrega_de_bienes,sector, otros_impdet, otrosimp)
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
Entrega de bienes
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|"
entrega_de_bienes "fecha_hora_entrega=|condicion_entrega=|lenguaje_del_pais=|pais=|departamento=|ciudad=|direccion=|empresa_transportadora_tipo_contribuyente=| empresa_transportadora_tipo_regimen= |empresa_transportadora_tipo_identificacion= |empresa_transportadora_identificacion= |empresa_transportadora_razon_social=|empresa_transportadora_lenguaje_del_pais=|empresa_transportadora_pais=|empresa_transportadora_departamento=|empresa_transportadora_ciudad= |empresa_transportadora_direccion= |empresa_transportadora_resp_calidades_atributos=,,|
empresa_transportadora_detalles_tributarios= |contacto_transportador_nombre_completo= |contacto_transportador_telefono_o_movil= |contacto_transportador_correo_electronico=|"
Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A ejemplos:
Si en entrega_de_bienes no necesita empresa_transportadora no coloque ninguna de los nombres que comienzan con empresa_transportadora igual aplica con contacto_transportador.
nota_debitovp(urlp, token, documento_obligado, encabezado, notas, informacion_adquiriente, nombre,detalle_factura, descuentos, recargos, impuestos, valor_nota_debito, generalidades, informacion_factura, resp_calidades_atributos, usuario_aduanero, testid, retenciones, retenciones_detalle,cambio_de_moneda, entrega_de_bienes,sector, otros_impdet, otrosimp)
doc = "XXXXXXXXXX"
encabezado = "id_factura=990000470|fecha=2019-07-23|hora=05:36:10|moneda=COP|tipo_factura=1|metodo_de_pago=1|tipo_de_pago=10
|identificador_de_pago=|numero_resolucion_facturacion=18760000001|fecha_vencimiento=|numero_orden=|prefijo=SETP|"
informacion_adquiriente = "tipo_contribuyente=1|tipo_regimen=2|tipo_identificacion=31|identificacion=9999999|correo_electronico=info@teleinte.com
|numero_movil=|departamento=11|zona=11001|ciudad=11001|direccion=Cra 10|pais=CO|";
nombre = "razon_social=PIXELPRO S.A.S.|primer_nombre=|segundo_nombre=|apellido="
resp_calidades_atributos = "O-07|o-08|"
usuario_aduanero = "|"
detalle_factura = "numero_linea=1|cantidad=1|unidad_de_cantidad=94|valor_unitario=600000.00
|descripcion=Prueba de detalle|regalo_es_regalo=false|regalo_cod_precio_referencia=0|regalo_precio_referencia=0.00|cargo_descuento_es_descuento=false
|cargo_descuento_porcentaje_cargo_descuento=0.00|cargo_descuento_valor_base_cargo_descuento=0.00|cargo_descuento_valor_cargo_descuento=0.00
|impuestos_detalle_codigo_impuesto=1|impuestos_detalle_porcentaje_impuesto=19.00|impuestos_detalle_valor_base_impuesto=600000.00
|impuestos_detalle_valor_impuesto=114000.00|valores_unitarios_valor_descuento=0.00|valores_unitarios_valor_con_descuento=0.00
|valores_unitarios_valor_impuesto_1=0.00|valores_unitarios_valor_impuesto_2=0.00|valores_unitarios_valor_impuesto_3=0.00
|valores_unitarios_valor_impuesto_4=0.00|valores_unitarios_valor_reteiva=0.00|valores_unitarios_valor_retefuente=0.00|valores_unitarios_valor_reteica=0.00
|valores_unitarios_valor_a_pagar=0.00|valor_total_detalle_con_cargo_descuento=600000.00|valor_total_detalle=600000.00|;"
retenciones_detalle = "codigo=0|porcentaje=0.00|valor_base=0.00|valor_retenido=0.00!;"
impuestos = "codigo_impuesto=1|porcentaje_impuesto=19.00|valor_base_calculo_impuesto=600000.00|valor_total_impuesto=114000.00;"
retenciones = "codigo=0|porcentaje=0.00|valor_base=0.00|valor_retenido=0.00;"
recargos = "nombre_recargo=|porcentaje_recargo=0.00|valor_base_calculo_recargo=0.00|valor_total_recargo=0.00;"
descuentos = "codigo_descuento=0|porcentaje_descuento=0.00|valor_base_calculo_descuento=0.00|valor_total_descuento=0.00;"
valor_factura = "valor_base=600000.00|valor_base_calculo_impuestos=600000.00|valor_base_mas_impuestos=714000.00|valor_anticipo=0.00
|valor_descuento_total=0.00|valor_total_recargos=0.00|valor_total_impuesto_1=114000.00|valor_total_impuesto_2=0.00
|valor_total_impuesto_3=0.00|valor_total_impuesto_4=0.00|valor_total_reteiva=0.00|valor_total_retefuente=0.00|valor_total_reteica=0.00
|total_factura=714000.00|valor_total_a_pagar=714000.00|"
generalidades = "tipo_ambiente_dian=2|version=2|identificador_transmision=22_20181102155632|rg_tipo=PDF
|rg_base_64=C:\\xxxxx\\FE1.pdf|rg_px_qr_x=180|rg_px_qr_y=240|rg_px_qr_size=20|rg_px_cufe_x=125|rg_px_cufe_y=235|rg_px_cufe_size=10
|notificacion_correo_obligado=adonofrio@sistemaspentagonosas.com|notificacion_es_automatico=S|con_copia=adonofrio@sistemaspentagonosas.com|asunto=demostracion comparativo|integrador_tipo=DLL|integrador_nombre=afacturar.dll|"
Versión | Cambios | Fecha de liberación |
---|---|---|
2.9 | En factura nacional adicionar documento de referencia. | 07 de Octubre de 2020 |
2.8 |
Adición el parametro reteiva, reteica, retefuente en el metodo nota_creditovp .
Nota credito => Se adicionaron nuevas variables en la cadena de datos de valor_nota_credito (valor_total_reteica, valor_total_retefuente, valor_total_reteiva). |
26 de Junio de 2020 |
2.7 |
Nueva versión del archivo de descarga. Ir a descargar Afacturar.dll Adición el parametro cambio_de_moneda en el metodo factura_nacionalvp . Factura nacional => Se adicionaron nuevas variables en la cadena de datos de detalle_factura (nota_detalle, marca, modelo, cod_grupo_bien_servicio, nombre_grupo_bien_servicio, cod_segmento_bien_servicio, cod_bien_servicio), tambien se adiciono el cambio_de_moneda. Adición el parametro cambio_de_moneda en el metodo nota_creditovp . Nota credito => Se adicionaron nuevas variables en la cadena de datos de detalle_factura (nota_detalle, marca, modelo, cod_grupo_bien_servicio, nombre_grupo_bien_servicio, cod_segmento_bien_servicio, cod_bien_servicio), tambien se adiciono el cambio_de_moneda, retenciones_detalle y retenciones. Adición el parametro cambio_de_moneda en el metodo nota_debitovp . Nota debito => Se adicionaron nuevas variables en la cadena de datos de detalle_factura (nota_detalle, marca, modelo, cod_grupo_bien_servicio, nombre_grupo_bien_servicio, cod_segmento_bien_servicio, cod_bien_servicio), tambien se adiciono el cambio_de_moneda, retenciones_detalle y retenciones. |
26 de Junio de 2020 |
2.6 |
Nueva versión del archivo de descarga. Ir a descargar Afacturar.dll Adición de nota_detalle. marca, modelo, codificacion_estandar en los detalles de los diferentes documentos, factura_nacionalvp, factura_exportacionvp, nota_creditovp y nota_debitovp. Adición del metodo factura_contingencia. En la nota_creditovp y nota_debitovp se agrego las retenciones_detalle, retenciones y cambio_de_moneda. |
16 de Junio de 2020 |
2.5 | Adición de variables. Cambio de nombre de variables que sean legibles. | 27 de Agosto de 2019 |
2 | Ajustes de validación previa | 09 de Agosto de 2019 |
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
nomina.program = new nomina.program();
Enviar( url, token, documento_obligado, testid, generalidades, encabezado, nota, cambio_de_moneda, informacion_trabajador, nombre, contrato, pago, cuenta_bancaria, basico, auxilio_transporte, viaticos, horas_extra_diurna, horas_extra_nocturna, horas_recargo_nocturno, horas_extra_diurna_dominical_festivo, horas_recargo_diurno_dominical_festivo, horas_extra_nocturna_dominical_festivo, horas_recargo_nocturno_dominical_festivo, vacaciones, prima, cesantias, intereses_cesantias, incapacidades, licencias, bonificaciones, auxilios, huelgas_legales, otros_conceptos, compensaciones, BonoEPCTV, comisiones, pagos_terceros, anticipos, dotacion, apoyo_sostenimiento, teletrabajo, bonificacion_por_retiro, indemnizacion, reintegro, salud, fondo_pension, fondo_seguridad_pensional, fondo_subsistencia, sindicatos, sanciones, libranzas, pagos_tercerosd, anticiposd, otras_deducciones, pension_voluntaria, retencion_fuente, afc, cooperativa, embargo_fiscal, plan_complementario, educacion, reintegrod, deuda, valor_nomina, novedad)
Cuando es un array al final de cada fila se coloca un punto y comma (;)
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
nomina.program = new nomina.program();
Reemplazar( url, token, documento_obligado, testid, generalidades, encabezado, nota, cambio_de_moneda, informacion_trabajador, nombre, contrato, pago, cuenta_bancaria, basico, auxilio_transporte, viaticos, horas_extra_diurna, horas_extra_nocturna, horas_recargo_nocturno, horas_extra_diurna_dominical_festivo, horas_recargo_diurno_dominical_festivo, horas_extra_nocturna_dominical_festivo, horas_recargo_nocturno_dominical_festivo, vacaciones, prima, cesantias, intereses_cesantias, incapacidades, licencias, bonificaciones, auxilios, huelgas_legales, otros_conceptos, compensaciones, BonoEPCTV, comisiones, pagos_terceros, anticipos, dotacion, apoyo_sostenimiento, teletrabajo, bonificacion_por_retiro, indemnizacion, reintegro, salud, fondo_pension, fondo_seguridad_pensional, fondo_subsistencia, sindicatos, sanciones, libranzas, pagos_tercerosd, anticiposd, otras_deducciones, pension_voluntaria, retencion_fuente, afc, cooperativa, embargo_fiscal, plan_complementario, educacion, reintegrod, deuda, valor_nomina, informacion_nomina)
Cuando es un array al final de cada fila se coloca un punto y comma (;)
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
nomina.program = new nomina.program();
Eliminar( url, token, documento_obligado, testid, generalidades, encabezado, nota, cambio_de_moneda, informacion_trabajador, nombre, informacion_nomina)
Cuando es un array al final de cada fila se coloca un punto y comma (;)
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
Posibles respuestas:
codigo_error 12: El documento no tiene registros.
codigo_error 0 :resultado correo electrónico.
consulta_correo(documento,usuario,contrasena)
Versión | Archivo | Fecha de liberación |
---|---|---|
2.9.0.5 | Afacturar_2905.zip | 12 de Julio de 2024 |
2.9.0.4 | Afacturar_2_9_0_4.zip | 20 de Mayo de 2024 |
2.9.0.3 | Afacturar_29_03_2.zip | 30 de Septiembre de 2022 |
2.9.0.3 | Afacturar_29_03.zip | 02 de Febrero de 2022 |
2.9 | Afacturar2_29.zip - Versión 2 | 06 de Agosto de 2020 |
2.8 | Afacturar_28.zip | 07 de Octubre de 2020 |
2.7 | Afacturar_27.zip | 26 de Junio de 2020 |
2.6 | Afacturar_26.zip | 16 de Junio de 2020 |
2.5 | Afacturar_25.dll | 27 de Agosto de 2019 |
Versión | Archivo | Fecha de liberación |
---|---|---|
1.1 | Afacturar_nomina_11.zip | Abril 2021 |
1.2 | Afacturar_nomina_12.zip | Noviembre 2021 |
1.3 | Afacturar_nomina_13.zip | Febrero 2022 |
Verifica el documento fue procesado
El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:
Solo para ambiente en producción
transacciones_emitidas(documento_obligado,token,prefijo,numero)
Convierte los json en string
desrespnom(resp)
Lee archivos de texto para el metodo de nomina electronica de enviar
ArchEnviar(string ruta,string identificador)
Lee archivos de texto para el metodo de nomina electronica de reemplazar
ArchReemplazar(string ruta, string identificador)