Copyright Teleinte SAS 2021
Para mayor información en operaciones@teleinte.com

Que es?

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.

Como funciona?

Para realizar la integración del DLL se necesitan los siguientes programas:

  • Afacturar.tlb, afacturar.dll: Permite realizar la integración con el Proveedor tecnologico Teleinte S.A.S.
  • NewtonSoft.json: Permite manipular y convertir estructuras de datos .json
  • RestSharp: Permite comunicarse con arquitectura API REST.

Pasos para la integración con Componentes COM

  1. Descargar el Afacturar.dll, Afacturar.tlb Ir a descargar Afacturar.dll
  2. Registrar los archivos en el sistema operativo Windows
  3. Windows 32 => C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe afacturar.dll /tlb:afacturar.tlb /codebase

    Windows 64 => C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe afacturar.dll /tlb:afacturar.tlb /codebase

  4. Accesar al dll y registrar la dll según el lenguaje de programación
  5. Microsotf Excel , Acces, Visual basic 6
    Desarrollador / Visual Basic / Herramientas / Referencia / Afacturar.tlb

    .Net
    Se instancia

  6. Configuración para la facturación electronica en el ambiente de:
  7. Pruebas

    • Registro en CRM Teleinte S.A.S (Identificación, nombre, tipo de contribuyente, ubicación). Se debe comunicar al telefono +57-1-328-7070.
    • Token de acceso
    • Resolución
    • Rangos de facturación

    Producción

    • Registro en Afacturar.com
    • Token de acceso
    • Resolución y rangos según información de la DIAN

  8. Invocar el dll según el lenguaje de programación

Datos comunes en la configuración de Afacturar.dll en los diferentes metodos

La cadena tiene la siguiente estructura:

variable_cadena = "variable_campo_1=valor_1 | variable_campo_2=valor_2"

  • | -> Separa los campos
  • ; -> Indica un arrray
  • = -> Define los pares valores
  • ! -> Indica que un mismo detalle tiene diferentes impuestos o retenciones, esto se aplica en impuesto_detalle y retenciones_detalle

Los nombre de las variables de campo no se pueden cambiar y deben seguir la estructura indicada

Funciones para utilizar con el DLL

Conectar()

Descripción:

Valida la conectividad con el DLL

Parametros de entrada:

NA

Parametros de salida:

Retorna un SI ,si se conecta con la DLL y NO en caso contrario

rango_facturacion_obligado(string obligado, string token)

Descripción:

Consulta los rangos de factura de la DIAN

Parametros de entrada:

  • obligado: Número de identificación del obligado
  • token: Codigo asignado al obligado. Este se puede consultar en Afacturar.com
  • Parametros de salida:

    Retorna un json con el listado de resoluciones, fechas, rangos de numeración

    browser1(string url, string archivo)

    Descripción:

    Visualiza una url en un browser o navegador

    Parametros de entrada:

  • url: Ruta de la representación grafica
  • archivo: Nombre que se le va a poner al archivo
  • Parametros de salida:

    N/A

    base64(string pdfPath)

    Descripción:

    Convierte un archivo PDF a Base64

    Parametros de entrada:

  • pdfpath: Ruta del archivo pdf a convertir
  • Parametros de salida:

    Retorna un string en base64

    Configuración de Afacturar.dll para factura nacional

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:


    doc = "Identificación del Obligado"

    encabezado = "id_factura=|fecha=|hora=|moneda=|tipo_factura=1|metodo_de_pago=|tipo_de_pago= |identificador_de_pago=|numero_resolucion_facturacion=|fecha_vencimiento=|numero_orden=|prefijo=|"

    notas = "variable:valor°"

    informacion_adquiriente = "tipo_contribuyente=|tipo_regimen=|tipo_identificacion=|identificacion=|correo_electronico= |numero_movil=|direccion=|departamento=|zona=|ciudad=|pais=|"

    nombre = "razon_social=|primer_nombre=|segundo_nombre=|apellido=|"

    resp_calidades_atributos = "Codigo de responsabilidades según documentación | "

    usuario_aduanero = "Codigo de usuario aduanero según documentación | "

    detalle_factura = "nota_detalle=|marca=|modelo=|cod_grupo_bien_servicio=|nombre_grupo_bien_servicio=|cod_segmento_bien_servicio=|cod_bien_servicio=|numero_linea=|cantidad=|unidad_de_cantidad=|valor_unitario=|descripcion=|regalo_es_regalo= |regalo_cod_precio_referencia=|regalo_precio_referencia=|cargo_descuento_es_descuento=|cargo_descuento_porcentaje_cargo_descuento= |cargo_descuento_valor_base_cargo_descuento=|cargo_descuento_valor_cargo_descuento=|impuestos_detalle_codigo_impuesto= |impuestos_detalle_porcentaje_impuesto=|impuestos_detalle_valor_base_impuesto=|impuestos_detalle_valor_impuesto= |valores_unitarios_valor_descuento=|valores_unitarios_valor_con_descuento=|valores_unitarios_valor_impuesto_1=|valores_unitarios_valor_impuesto_2= |valores_unitarios_valor_impuesto_3=|valores_unitarios_valor_impuesto_4=|valores_unitarios_valor_reteiva=|valores_unitarios_valor_retefuente= |valores_unitarios_valor_reteica=|valores_unitarios_valor_a_pagar=|valor_total_detalle_con_cargo_descuento=|valor_total_detalle=|;"

    retenciones_detalle = "codigo=|porcentaje=|valor_base=|valor_retenido=!;"

    impuestos = "codigo_impuesto=|porcentaje_impuesto=|valor_base_calculo_impuesto=|valor_total_impuesto=;"

    retenciones = "codigo=|porcentaje=|valor_base=|valor_retenido=;"

    recargos = "nombre_recargo=|porcentaje_recargo=|valor_base_calculo_recargo=|valor_total_recargo=;"

    descuentos = "codigo_descuento=|porcentaje_descuento=|valor_base_calculo_descuento=|valor_total_descuento=;"

    valor_factura = "valor_base=|valor_base_calculo_impuestos=|valor_base_mas_impuestos=|valor_anticipo=|valor_descuento_total=|valor_total_recargos= |valor_total_impuesto_1=|valor_total_impuesto_2=|valor_total_impuesto_3=|valor_total_impuesto_4=|valor_total_reteiva=|valor_total_retefuente= |valor_total_reteica=|total_factura=|valor_total_a_pagar=|;"

    generalidades = "tipo_ambiente_dian=|version=|identificador_transmision=|rg_tipo=|rg_base_64=|rg_px_qr_x=|rg_px_qr_y=|rg_px_qr_size=|rg_px_cufe_x= |rg_px_cufe_y=|rg_px_cufe_size=|notificacion_correo_obligado=|notificacion_es_automatico=|con_copia=|asunto=|integrador_tipo=DLL |integrador_nombre=afacturar.dll|;

    testsetid = "|;"

    cambio_de_moneda = "codigo=|fecha_cambio=|valor_base_trm=|;"
    Nota: En caso de no utilizar el cambio de moneda, enviar la palabra clave N/A.


    documento_referencia = "fecha=|numero_documento=|tipo_documento=|"
    Nota: En caso de no utilizar el documento_referencia, enviar la palabra clave N/A.


    otrosimp "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_total_impuesto=|;"

    otros_impdet "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_impuesto=|;"

    sector "tipo=|informacion_adicional=variable!valor,"
    Observación: en sector el tipo es una cadena pero la informacion_adicional es un arreglo con un par de variables separados con ! donde el valor a la izquierda de ese signo es la variable y la del lado derecho es el valor y finaliza con una coma (,).


    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=|"

    Nota: Empresa_transportadora_resp_calidades_atributos es un arreglo separe los valores con el signo coma(,)
    Observacioónes:

    Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A
    ejemplos:

    • otrosimp="N/A"
    • otros_impdet="N/A"
    • sector="N/A"
    • entrega_bienes="N/A"

    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.

    Método

    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)

    Configuración de Afacturar.dll para factura mandato

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:



    encabezado = "id_factura=|fecha=|hora=|moneda=|tipo_factura=|metodo_de_pago=|tipo_de_pago=|identificador_de_pago=|numero_resolucion_facturacion=|fecha_vencimiento=|numero_orden=|prefijo=|"

    notas = "variable:valor|"

    informacion_mandante = "tipo_contribuyente=|tipo_regimen=|tipo_identificacion=|identificacion=|correo_electronico=|numero_movil=|nombre_razon_social=|nombre_primer_nombre=|nombre_segundo_nombre=|nombre_apellido=|departamento=|zona=|ciudad=|direccion=|pais=|rut_resp=|rut_adua=|;"

    contratos = "numero=|fecha=|tipo=|!;"

    informacion_adquiriente = "tipo_contribuyente=|tipo_regimen=|tipo_identificacion=|identificacion=|correo_electronico=|numero_movil=|departamento=|zona=|ciudad=|direccion=|pais=|razon_social=|primer_nombre=|segundo_nombre=|apellido=|"

    usuario_aduanero = "|"

    resp_calidades_atributos = "O-07|"

    detalle_factura = "datos_mandante_numero_contrato=|datos_mandante_tipo_identificacion_mandante=|datos_mandante_nombre_mandante=|valor_total_detalle_con_cargo_descuento=|valores_unitarios_valor_a_pagar=|valores_unitarios_valor_reteica=|valores_unitarios_valor_retefuente=|valores_unitarios_valor_reteiva=|valores_unitarios_valor_impuesto_4=|valores_unitarios_valor_impuesto_3=|valores_unitarios_valor_impuesto_2=|valores_unitarios_valor_impuesto_1=|valores_unitarios_valor_con_descuento=|valores_unitarios_valor_descuento=|impuestos_detalle_valor_impuesto=|impuestos_detalle_valor_base_impuesto=|impuestos_detalle_porcentaje_impuesto=|impuestos_detalle_codigo_impuesto=|cargo_descuento_valor_cargo_descuento=|cargo_descuento_valor_base_cargo_descuento=|cargo_descuento_porcentaje_cargo_descuento=|cargo_descuento_es_descuento=|regalo_precio_referencia=|regalo_cod_precio_referencia=|regalo_es_regalo=|numero_linea=|cantidad=|unidad_de_cantidad=|valor_unitario=|descripcion=|valor_total_detalle=|;"

    retenciones_detalles = "codigo=|porcentaje=|valor_base=|valor_retenido=|!;"

    impuestos = "codigo_impuesto=|porcentaje_impuesto=|valor_base_calculo_impuesto=|valor_total_impuesto=|;"

    retenciones = "codigo=|porcentaje=|valor_base=|valor_retenido=|;"

    recargos = "nombre_recargo=|porcentaje_recargo=|valor_base_calculo_recargo=|valor_total_recargo=|;"

    descuentos = "codigo_descuento=|porcentaje_descuento=|valor_base_calculo_descuento=|valor_total_descuento=|;"

    valor_factura = "valor_total_a_pagar=|valor_total_reteica=|valor_total_retefuente=|valor_total_reteiva=|valor_base_mas_impuestos=|valor_base= |valor_base_calculo_impuestos=|valor_anticipo=|valor_descuento_total=|valor_total_recargos=|valor_total_impuesto_1= |valor_total_impuesto_2=|valor_total_impuesto_3=|valor_total_impuesto_4=|total_factura=|"

    generalidades = "tipo_ambiente_dian=|version=|identificador_transmision=|rg_tipo=|rg_base_64=|nombre=|tipo=|webhook=|rg_px_qr_x=|rg_px_qr_y=|rg_px_qr_size=|rg_px_cune_x=|rg_px_cune_y=|rg_px_cune_size=|notificacion_es_automatico=|notificacion_para=|notificacion_copia=|notificacion_complemento_asunto=|"

    otrosimp "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_total_impuesto=|;"

    otros_impdet "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_impuesto=|;"

    sector "tipo=|informacion_adicional=variable!valor,"
    Observación: en sector el tipo es una cadena pero la informacion_adicional es un arreglo con un par de variables separados con ! donde el valor a la izquierda de ese signo es la variable y la del lado derecho es el valor y finaliza con una coma (,).


    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=|"

    Nota: Empresa_transportadora_resp_calidades_atributos es un arreglo separe los valores con el signo coma(,)
    Observacioónes:

    Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A
    ejemplos:

    • otrosimp="N/A"
    • otros_impdet="N/A"
    • sector="N/A"
    • entrega_bienes="N/A"

    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.

    Método

    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)

    Configuración de Afacturar.dll para nota credito

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:



    encabezado = "id_nota_credito=|fecha=|hora=|moneda=|tipo_nota_credito=|"

    informacion_factura = "id_factura=|codigo_unico_factura=|fecha=|hora=|"

    informacion_adquiriente = "tipo_contribuyente=|tipo_regimen=|tipo_identificacion=|identificacion=| correo_electronico= | numero_movil=|direccion=|departamento=| zona=|ciudad=|pais=| nombre_ciudad=|nombre_departmento=|nombre_pais=|"

    nombre = "razon_social=|primer_nombre=|segundo_nombre=|apellido=|"

    resp_calidades_atributos = "|"

    usuario_aduanero = "O-07|"

    notas = "variable:valor|"

    detalle_factura = "nota_detalle=|marca=|modelo=|cod_grupo_bien_servicio=|nombre_grupo_bien_servicio=|cod_segmento_bien_servicio=|cod_bien_servicio=numero_linea=|cantidad=|unidad_de_cantidad=|valor_unitario=|descripcion=|valor_total_detalle_con_cargo_descuento=|valor_total_detalle=|cargo_es_descuento=|cargo_porcentaje_cargo_descuento=|cargo_valor_base_cargo_descuento=|cargo_valor_cargo_descuento=|valores_unitarios_valor_impuesto_1=|valores_unitarios_valor_impuesto_2=|valores_unitarios_valor_impuesto_3=|valores_unitarios_valor_impuesto_4=|valor_a_pagar=|;"

    impuestos_detalle = "codigo_impuesto=|porcentaje_impuesto=|valor_base_impuesto=|valor_impuesto=|;"

    impuestos = "codigo_impuesto=|porcentaje_impuesto=|valor_base_calculo_impuesto=|valor_total_impuesto=|;"

    recargos = "nombre_recargo=|porcentaje_recargo=|valor_base_calculo_recargo=|valor_total_recargo=|;"

    descuentos="codigo_descuento=|porcentaje_descuento=|valor_base_calculo_descuento=|valor_total_descuento=|;"

    generalidades = "tipo_ambiente_dian=|version=|identificador_transmision=|rg_tipo=|rg_base_64=|nombre=|tipo=|webhook=|rg_px_qr_x=|rg_px_qr_y=|rg_px_qr_size=|rg_px_cune_x=|rg_px_cune_y=|rg_px_cune_size=|notificacion_es_automatico=|notificacion_para=|notificacion_copia=|notificacion_complemento_asunto=|"

    valor_nota_credito = "valor_base=|valor_base_calculo_impuestos=|valor_base_mas_impuestos=|valor_descuento_total=|valor_total_recargos=|valor_total_impuesto_1=|valor_total_impuesto_2=|valor_total_impuesto_3=|valor_total_impuesto_4=|total_nota_credito=|valor_total_a_pagar=|valor_total_reteica=|valor_total_retefuente=|valor_total_reteiva=|"

    testsetid = ""

    retenciones_detalle = "codigo=|porcentaje=|valor_base=|valor_retenido=!;"

    retenciones = "codigo=|porcentaje=|valor_base=|valor_retenido=;"

    cambio_de_moneda = "codigo=|fecha_cambio=|valor_base_trm=|;"
    Nota: En caso de no utilizar el cambio de moneda, enviar la palabra clave N/A.


    otrosimp "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_total_impuesto=|;"

    otros_impdet "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_impuesto=|;"

    sector "tipo=|informacion_adicional=variable!valor,"
    Observación: en sector el tipo es una cadena pero la informacion_adicional es un arreglo con un par de variables separados con ! donde el valor a la izquierda de ese signo es la variable y la del lado derecho es el valor y finaliza con una coma (,).


    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=|"

    Nota: Empresa_transportadora_resp_calidades_atributos es un arreglo separe los valores con el signo coma(,)
    Observacioónes:

    Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A
    ejemplos:

    • otrosimp="N/A"
    • otros_impdet="N/A"
    • sector="N/A"
    • entrega_bienes="N/A"

    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.

    Método

    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)

    Configuración de Afacturar.dll para nota debito

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:



    encabezado = "id_nota_debito=|fecha=|hora=|moneda=|tipo_nota_debito=|metodo_de_pago=|tipo_de_pago=|identificador_de_pago=|"

    informacion_factura = "id_factura=|codigo_unico_factura=|fecha=|hora=|"

    informacion_adquiriente = "tipo_contribuyente=|tipo_regimen=|tipo_identificacion=|identificacion=|correo_electronico=|numero_movil=|departamento=|zona=|ciudad=|direccion=|pais=|"

    nombre = "razon_social=|primer_nombre=|segundo_nombre=|apellido=|"

    resp_calidades_atributos = "|"

    usuario_aduanero = "O-07|"

    notas = "variable:valor|"

    detalle_factura = ""nota_detalle=|marca=|modelo=|cod_grupo_bien_servicio=|nombre_grupo_bien_servicio=|cod_segmento_bien_servicio=|cod_bien_servicio=valor_total_detalle_con_cargo_descuento=|valores_unitarios_valor_a_pagar=|valores_unitarios_valor_reteica=|valores_unitarios_valor_retefuente=|valores_unitarios_valor_reteiva=|valores_unitarios_valor_impuesto_4=|valores_unitarios_valor_impuesto_3=|valores_unitarios_valor_impuesto_2=|valores_unitarios_valor_impuesto_1=|valores_unitarios_valor_con_descuento=|valores_unitarios_valor_descuento=|impuestos_detalle_valor_impuesto=|impuestos_detalle_valor_base_impuesto=|impuestos_detalle_porcentaje_impuesto=|impuestos_detalle_codigo_impuesto=|cargo_descuento_valor_cargo_descuento=|cargo_descuento_valor_base_cargo_descuento=|cargo_descuento_porcentaje_cargo_descuento=|cargo_descuento_es_descuento=|numero_linea=|cantidad=|unidad_de_cantidad=|valor_unitario=|descripcion=|valor_total_detalle=|;"

    impuestos = "codigo_impuesto=|porcentaje_impuesto=|valor_base_calculo_impuesto=|valor_total_impuesto=|;"

    recargos = "nombre_recargo=|porcentaje_recargo=|valor_base_calculo_recargo=|valor_total_recargo=|;"

    descuentos="codigo_descuento=|porcentaje_descuento=|valor_base_calculo_descuento=|valor_total_descuento=|;"

    generalidades = "tipo_ambiente_dian=|version=|identificador_transmision=|rg_tipo=|rg_base_64=|nombre=|tipo=|webhook=|rg_px_qr_x=|rg_px_qr_y=|rg_px_qr_size=|rg_px_cune_x=|rg_px_cune_y=|rg_px_cune_size=|notificacion_es_automatico=|notificacion_para=|notificacion_copia=|notificacion_complemento_asunto=|"

    valor_nota_debito = "valor_base=|valor_base_calculo_impuestos=|valor_base_mas_impuestos=|valor_anticipo=|valor_descuento_total=|valor_total_recargos=|valor_total_impuesto_1=|valor_total_impuesto_2=|valor_total_impuesto_3=|valor_total_impuesto_4=|total_nota_debito=|valor_total_a_pagar=|"

    retenciones_detalle = "codigo=|porcentaje=|valor_base=|valor_retenido=!;"

    retenciones = "codigo=|porcentaje=|valor_base=|valor_retenido=;"

    cambio_de_moneda = "codigo=|fecha_cambio=|valor_base_trm=|;"
    Nota: En caso de no utilizar el cambio de moneda, enviar la palabra clave N/A.


    otrosimp "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_total_impuesto=|;"

    otros_impdet "codigo_impuesto=|unidad_de_medida=|nombre_impuesto=|valor_impuesto_por_unidad=|valor_impuesto=|;"

    sector "tipo=|informacion_adicional=variable!valor,"
    Observación: en sector el tipo es una cadena pero la informacion_adicional es un arreglo con un par de variables separados con ! donde el valor a la izquierda de ese signo es la variable y la del lado derecho es el valor y finaliza con una coma (,).


    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=|"

    Nota: Empresa_transportadora_resp_calidades_atributos es un arreglo separe los valores con el signo coma(,)
    Observacioónes:

    Todas estas variables nuevas son opcionales para omitir su contenido coloque N/A
    ejemplos:

    • otrosimp="N/A"
    • otros_impdet="N/A"
    • sector="N/A"
    • entrega_bienes="N/A"

    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.

    Método

    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)

    Ejemplos

    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|"

    Historico de cambios


    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

    Nomina - Enviar

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:


    *documento_obligado = "Identificación del Obligado"
    * novedad = "es_novedad=|cune=|"
    cambio_de_moneda = "fecha_cambio=|codigo=|valor_base_trm=|"
    * generalidades = tipo_ambiente_dian=|version=|identificador_transmision=|rg_tipo=|rg_base_64=|nombre=|tipo=|webhook=|rg_px_qr_x=|rg_px_qr_y=|rg_px_qr_size=|rg_px_cune_x=|rg_px_cune_y=|rg_px_cune_size=|notificacion_es_automatico=|notificacion_para=|notificacion_con_copia=|notificacion_complemento_asunto=|"

    * encabezado= "fecha_liquidacion_inicio=|fecha_liquidacion_fin=|fecha_generacion=|hora_generacion=|prefijo=|numero_documento=|periodo_nomina=|tiempo_laborado=|pais=|departamento=|ciudad=|idioma=|moneda=|"

    nota= "variable:valor°"

    * informacion_trabajador = "tipo_identificacion=|identificacion=|correo_electronico=|numero_movil=|pais=|nombre_pais=|departamento=|nombre_departamento=|ciudad=|nombre_ciudad=|direccion=|"

    nombre= "primer_nombre=|otros_nombres=|primer_apellido=|segundo_apellido=|"

    * contrato= "codigo_trabajador=|tipo_trabajador=|subtipo_trabajador=|riesgo_pensional=|tipo_contrato=|fecha_ingreso=|salario_integral=|sueldo=|"

    cuenta_bancaria= "nombre_banco=|tipo=|numero=|"

    * pago= "fecha=|forma=|metodo=|"

    * basico= "dias_trabajados=|sueldo=|"

    auxilio_transporte= "pago=|"

    viaticos= "salarial=|pago=|;"

    horas_extra_diurna= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_extra_nocturna= "fecha_inicio =|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_recargo_nocturno= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_extra_diurna_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_recargo_diurno_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_extra_nocturna_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_recargo_nocturno_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    comunes= "fecha_inicio=|fecha_fin=|cantidad_dias=|pago=|;"

    compensadas= "fecha_inicio=|fecha_fin=|cantidad_dias=|pago=|;"

    prima= "salarial=|cantidad_dias=|pago=|;"

    cesantias= "salario=|cantidad_dias=|pago=|"

    intereses_cesantias= "porcentaje=|pago=|;"

    incapacidades= "fecha_inicio=|fecha_fin=|cantidad_dias=|tipo=|pago=|;"

    licencias= "tipo=|fecha_inicio=|fecha_fin=|cantidad_dias=|pago=|;"

    bonificaciones= "salarial=|pago=|;"

    auxilios= "salarial=|pago=|;"

    huelgas_legales= "fecha_inicio=|fecha_fin=|cantidad_dias=|;"

    otros_conceptos= "descripcion=|salarial=|pago=|;"

    compensaciones= "tipo=|pago=|;"

    bonoEPCTV= "salarial=|alimentacion=|pago=|;"

    comisiones= "pago=|;"

    pagos_terceros= "deduccion=|;"

    anticipos= "pago=|;"

    dotacion= "pago=|;"

    apoyo_sostenimiento= "pago=|;"

    teletrabajo= "pago=|;"

    bonificacion_por_retiro= "pago=|;"

    indemnizacion= "pago=|;"

    reintegro= "pago=|;"

    * salud= "porcentaje=|deduccion=|"

    * fondo_pension= "porcentaje=|deduccion=|"

    * fondo_seguridad_pensional= "porcentaje=|deduccion=|"

    * fondo_subsistencia= "porcentaje=|deduccion=|"

    sindicatos= "porcentaje=|deduccion=|;"

    sanciones= "tipo=|deduccion=|;"

    libranzas= "descripcion=|deduccion=|;"

    pagos_terceros= "deduccion=|;"

    anticiposded= "deduccion=|;"

    otras_deducciones= "deduccion=|;"

    pension_voluntaria= "deduccion=|;"

    retencion_fuente= "deduccion=|;"

    afcnom= "deduccion=|;"

    cooperativa= "deduccion=|;"

    embargo_fiscal= "deduccion=|;"

    plan_complementario= "deduccion=|;"

    educacion= "deduccion=|;"

    reintegroded= "deduccion=|;"

    deuda= "deduccion=|;"

    * valor_nomina= "valor_base=|valor_total_devengos=|valor_total_deducciones=|valor_total_pago=|"

    Instanciar dll

    nomina.program = new nomina.program();

    Método

    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)

    Nota

    Cuando es un array al final de cada fila se coloca un punto y comma (;)

    Nomina - Reemplazar

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:


    documento_obligado = "Identificación del Obligado"
    * novedad = "es_novedad=|cune=|"
    cambio_de_moneda = "fecha_cambio=|codigo=|valor_base_trm=|"
    * generalidades = tipo_ambiente_dian=|version=|identificador_transmision=|rg_tipo=|rg_base_64=|nombre=|tipo=|webhook=|rg_px_qr_x=|rg_px_qr_y=|rg_px_qr_size=|rg_px_cune_x=|rg_px_cune_y=|rg_px_cune_size=|notificacion_es_automatico=|notificacion_para=|notificacion_con_copia=|notificacion_complemento_asunto=|"

    * encabezado= "fecha_liquidacion_inicio=|fecha_liquidacion_fin=|fecha_generacion=|hora_generacion=|prefijo=|numero_documento=|periodo_nomina=|tiempo_laborado=|pais=|departamento=|ciudad=|idioma=|moneda=|"

    nota= "variable:valor°"

    * informacion_trabajador = "tipo_identificacion=|identificacion=|correo_electronico=|numero_movil=|pais=|nombre_pais=|departamento=|nombre_departamento=|ciudad=|nombre_ciudad=|direccion=|"

    nombre= "primer_nombre=|otros_nombres=|primer_apellido=|segundo_apellido=|"

    * contrato= "codigo_trabajador=|tipo_trabajador=|subtipo_trabajador=|riesgo_pensional=|tipo_contrato=|fecha_ingreso=|salario_integral=|sueldo=|"

    cuenta_bancaria= "nombre_banco=|tipo=|numero=|"

    * pago= "fecha=|forma=|metodo=|"

    basico= "dias_trabajados=|sueldo=|"

    auxilio_transporte= "pago=|"

    viaticos= "salarial=|pago=|;"

    horas_extra_diurna= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_extra_nocturna= "fecha_inicio =|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_recargo_nocturno= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_extra_diurna_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_recargo_diurno_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_extra_nocturna_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    horas_recargo_nocturno_dominical_festivo= "fecha_inicio=|hora_inicio=|fecha_fin=|hora_fin=|cantidad_horas=|pago=|;"

    comunes= "fecha_inicio=|fecha_fin=|cantidad_dias=|pago=|;"

    compensadas= "fecha_inicio=|fecha_fin=|cantidad_dias=|pago=|;"

    prima= "salarial=|cantidad_dias=|pago=|;"

    cesantias= "salario=|cantidad_dias=|pago=|"

    intereses_cesantias= "porcentaje=|pago=|;"

    incapacidades= "fecha_inicio=|fecha_fin=|cantidad_dias=|tipo=|pago=|;"

    licencias= "tipo=|fecha_inicio=|fecha_fin=|cantidad_dias=|pago=|;"

    bonificaciones= "salarial=|pago=|;"

    auxilios= "salarial=|pago=|;"

    huelgas_legales= "fecha_inicio=|fecha_fin=|cantidad_dias=|;"

    otros_conceptos= "descripcion=|salarial=|pago=|;"

    compensaciones= "tipo=|pago=|;"

    bonoEPCTV= "salarial=|alimentacion=|pago=|;"

    comisiones= "pago=|;"

    pagos_terceros= "deduccion=|;"

    anticipos= "pago=|;"

    dotacion= "pago=|;"

    apoyo_sostenimiento= "pago=|;"

    teletrabajo= "pago=|;"

    bonificacion_por_retiro= "pago=|;"

    indemnizacion= "pago=|;"

    reintegro= "pago=|;"

    * salud= "porcentaje=|deduccion=|"

    * fondo_pension= "porcentaje=|deduccion=|"

    * fondo_seguridad_pensional= "porcentaje=|deduccion=|"

    * fondo_subsistencia= "porcentaje=|deduccion=|"

    sindicatos= "porcentaje=|deduccion=|;"

    sanciones= "tipo=|deduccion=|;"

    libranzas= "descripcion=|deduccion=|;"

    pagos_terceros= "deduccion=|;"

    anticiposded= "deduccion=|;"

    otras_deducciones= "deduccion=|;"

    pension_voluntaria= "deduccion=|;"

    retencion_fuente= "deduccion=|;"

    afcnom= "deduccion=|;"

    cooperativa= "deduccion=|;"

    embargo_fiscal= "deduccion=|;"

    plan_complementario= "deduccion=|;"

    educacion= "deduccion=|;"

    reintegroded= "deduccion=|;"

    deuda= "deduccion=|;"

    * valor_nomina= "valor_base=|valor_total_devengos=|valor_total_deducciones=|valor_total_pago=|"

    * informacion_nomina= "numero_documento=|cune=|fecha_documento=|"

    Instanciar dll

    nomina.program = new nomina.program();

    Método

    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)

    Nota

    Cuando es un array al final de cada fila se coloca un punto y comma (;)

    Nomina - Eliminar

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:


    documento_obligado = "Identificación del Obligado"

    * encabezado1= "fecha_liquidacion_inicio=|fecha_liquidacion_fin=|fecha_generacion=|hora_generacion=|prefijo=|numero_documento=|periodo_nomina=|tiempo_laborado=|pais=|departamento=|ciudad=|idioma=|moneda=|"
    * generalidades = tipo_ambiente_dian=|version=|identificador_transmision=|rg_tipo=|rg_base_64=|nombre=|tipo=|webhook=|rg_px_qr_x=|rg_px_qr_y=|rg_px_qr_size=|rg_px_cune_x=|rg_px_cune_y=|rg_px_cune_size=|notificacion_es_automatico=|notificacion_para=|notificacion_con_copia=|notificacion_complemento_asunto=|"

    nota1= "variable:valor°"

    * informacion_trabajador1 = "tipo_identificacion=|identificacion=|correo_electronico=|numero_movil=|pais=|nombre_pais=|departamento=|nombre_departamento=|ciudad=|nombre_ciudad=|direccion=|"

    nombre1= "primer_nombre=|otros_nombres=|primer_apellido=|segundo_apellido=|"

    informacion_nomina1= "numero_documento=|cune=|fecha_documento=|"

    Instanciar dll

    nomina.program = new nomina.program();

    Método

    Eliminar( url, token, documento_obligado, testid, generalidades, encabezado, nota, cambio_de_moneda, informacion_trabajador, nombre, informacion_nomina)

    Nota

    Cuando es un array al final de cada fila se coloca un punto y comma (;)

    Consulta correo electronico

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:



    documento= "Número de documento del cliente a consultar el correo electronico registrado en la DIAN"

    usuario= "Número de identificación del obligado registrado en Afacturar.com"

    contrasena = "Contraseña asignada al obligado por Afacturar.com"

    Nota

    Posibles respuestas:

    codigo_error 12: El documento no tiene registros.

    codigo_error 0 :resultado correo electrónico.

    Método

    consulta_correo(documento,usuario,contrasena)

    Descarga de archivos del DLL

    Facturación Electrónica

    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

    Nómina Electrónica

    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

    Nomina - Transacciones emitidas

    Descripción

    Verifica el documento fue procesado

    Parametros de entrada

    El dll tiene como parametro de entrada una cadena de datos con la siguiente estructura:



    documento_obligado= "Nit de la empresa sin puntos ni digito de verificación"

    token= "Identificador entregado por teleinte"

    prefijo = "Prefijo del soporte de pago"

    numero = "Número del documento soporte de pago"

    Nota

    Solo para ambiente en producción

    Método

    transacciones_emitidas(documento_obligado,token,prefijo,numero)

    Nomina - Lector de rta

    Descripción

    Convierte los json en string

    Parametros de entrada



    resp= "Cadena dada en la respuesta de transacciones emitidas"

    Método

    desrespnom(resp)

    Nomina - Lector file - Enviar

    Descripción

    Lee archivos de texto para el metodo de nomina electronica de enviar

    Parametros de entrada



    ruta= Path donde se encuentra la carpeta que contiene los archivos textos con los conceptos para Enviar la nómina. Los archivos se deben nombrar con la siguiente estructura "identificacion_periodonomina_caracteristica
    identificador=Distintivo para diferenciar los empleados. Este debe tener la siguiente estructura "identificacion_periodonomina", por ejemplo 123456_20211201, 789456_20211201

    Las caracteristicas para guardar los archivos son:
  • identificacion_periodonomina_url.txt
  • identificacion_periodonomina_token.txt
  • identificacion_periodonomina_documento_obligado.txt
  • identificacion_periodonomina_testid.txt
  • identificacion_periodonomina_generalidades.txt
  • identificacion_periodonomina_encabezado.txt
  • identificacion_periodonomina_nota.txt
  • identificacion_periodonomina_cambio_de_moneda.txt
  • identificacion_periodonomina_informacion_trabajador.txt
  • identificacion_periodonomina_nombre.txt
  • identificacion_periodonomina_contrato.txt
  • identificacion_periodonomina_pago.txt
  • identificacion_periodonomina_cuenta_bancaria.txt
  • identificacion_periodonomina_basico.txt
  • identificacion_periodonomina_auxilio_transporte.txt
  • identificacion_periodonomina_viaticos.txt
  • identificacion_periodonomina_horas_extra_diurna.txt
  • identificacion_periodonomina_horas_extra_nocturna.txt
  • identificacion_periodonomina_horas_recargo_nocturno.txt
  • identificacion_periodonomina_horas_extra_diurna_dominical_festivo.txt
  • identificacion_periodonomina_horas_recargo_diurno_dominical_festivo.txt
  • identificacion_periodonomina_horas_extra_nocturna_dominical_festivo.txt
  • identificacion_periodonomina_horas_recargo_nocturno_dominical_festivo.txt
  • identificacion_periodonomina_vacaciones.txt
  • identificacion_periodonomina_prima.txt
  • identificacion_periodonomina_cesantias.txt
  • identificacion_periodonomina_intereses_cesantias.txt
  • identificacion_periodonomina_incapacidades.txt
  • identificacion_periodonomina_licencias.txt
  • identificacion_periodonomina_bonificaciones.txt
  • identificacion_periodonomina_auxilios.txt
  • identificacion_periodonomina_huelgas_legales.txt
  • identificacion_periodonomina_otros_conceptos.txt
  • identificacion_periodonomina_compensaciones.txt
  • identificacion_periodonomina_BonoEPCTV.txt
  • identificacion_periodonomina_comisiones.txt
  • identificacion_periodonomina_pagos_terceros.txt
  • identificacion_periodonomina_anticipos.txt
  • identificacion_periodonomina_dotacion.txt
  • identificacion_periodonomina_apoyo_sostenimiento.txt
  • identificacion_periodonomina_teletrabajo.txt
  • identificacion_periodonomina_bonificacion_por_retiro.txt
  • identificacion_periodonomina_indemnizacion.txt
  • identificacion_periodonomina_reintegro.txt
  • identificacion_periodonomina_salud.txt
  • identificacion_periodonomina_fondo_pension.txt
  • identificacion_periodonomina_fondo_seguridad_pensional.txt
  • identificacion_periodonomina_fondo_subsistencia.txt
  • identificacion_periodonomina_sindicatos.txt
  • identificacion_periodonomina_sanciones.txt
  • identificacion_periodonomina_libranzas.txt
  • identificacion_periodonomina_pagos_tercerosd.txt =>pagos terceros para deduccion
  • identificacion_periodonomina_anticiposd.txt =>anticipos para deduccion
  • identificacion_periodonomina_otras_deducciones.txt
  • identificacion_periodonomina_pension_voluntaria.txt
  • identificacion_periodonomina_retencion_fuente.txt
  • identificacion_periodonomina_afc.txt
  • identificacion_periodonomina_cooperativa.txt
  • identificacion_periodonomina_embargo_fiscal.txt
  • identificacion_periodonomina_plan_complementario.txt
  • identificacion_periodonomina_educacion.txt
  • identificacion_periodonomina_reintegrod.txt =>reintegro para deduccion
  • identificacion_periodonomina_deuda.txt
  • identificacion_periodonomina_valor_nomina.txt
  • identificacion_periodonomina_novedad.txt


  • Nota: Los archivos deben estar en la ruta enviada en el metodo.. En cada archivo va la estructura de la cadena de datos del metodo Nomina - Enviar

    Método

    ArchEnviar(string ruta,string identificador)

    Nomina - Lector file - Reemplazar

    Descripción

    Lee archivos de texto para el metodo de nomina electronica de reemplazar

    Parametros de entrada



    ruta= Path donde se encuentra la carpeta que contiene los archivos textos con los conceptos para reemplazar la nómina. Los archivos se deben nombrar con la siguiente estructura "identificacion_periodonomina_caracteristica
    identificador=Distintivo para diferenciar los empleados. Este debe tener la siguiente estructura "identificacion_periodonomina", por ejemplo 123456_20211201, 789456_20211201

    Las caracteristicas para guardar los archivos son:
  • identificacion_periodonomina_url.txt
  • identificacion_periodonomina_token.txt
  • identificacion_periodonomina_documento_obligado.txt
  • identificacion_periodonomina_testid.txt
  • identificacion_periodonomina_informacion_nomina.txt
  • identificacion_periodonomina_generalidades.txt
  • identificacion_periodonomina_encabezado.txt
  • identificacion_periodonomina_nota.txt
  • identificacion_periodonomina_cambio_de_moneda.txt
  • identificacion_periodonomina_informacion_trabajador.txt
  • identificacion_periodonomina_nombre.txt
  • identificacion_periodonomina_contrato.txt
  • identificacion_periodonomina_pago.txt
  • identificacion_periodonomina_cuenta_bancaria.txt
  • identificacion_periodonomina_basico.txt
  • identificacion_periodonomina_auxilio_transporte.txt
  • identificacion_periodonomina_viaticos.txt
  • identificacion_periodonomina_horas_extra_diurna.txt
  • identificacion_periodonomina_horas_extra_nocturna.txt
  • identificacion_periodonomina_horas_recargo_nocturno.txt
  • identificacion_periodonomina_horas_extra_diurna_dominical_festivo.txt
  • identificacion_periodonomina_horas_recargo_diurno_dominical_festivo.txt
  • identificacion_periodonomina_horas_extra_nocturna_dominical_festivo.txt
  • identificacion_periodonomina_horas_recargo_nocturno_dominical_festivo.txt
  • identificacion_periodonomina_vacaciones.txt
  • identificacion_periodonomina_prima.txt
  • identificacion_periodonomina_cesantias.txt
  • identificacion_periodonomina_intereses_cesantias.txt
  • identificacion_periodonomina_incapacidades.txt
  • identificacion_periodonomina_licencias.txt
  • identificacion_periodonomina_bonificaciones.txt
  • identificacion_periodonomina_auxilios.txt
  • identificacion_periodonomina_huelgas_legales.txt
  • identificacion_periodonomina_otros_conceptos.txt
  • identificacion_periodonomina_compensaciones.txt
  • identificacion_periodonomina_BonoEPCTV.txt
  • identificacion_periodonomina_comisiones.txt
  • identificacion_periodonomina_pagos_terceros.txt
  • identificacion_periodonomina_anticipos.txt
  • identificacion_periodonomina_dotacion.txt
  • identificacion_periodonomina_apoyo_sostenimiento.txt
  • identificacion_periodonomina_teletrabajo.txt
  • identificacion_periodonomina_bonificacion_por_retiro.txt
  • identificacion_periodonomina_indemnizacion.txt
  • identificacion_periodonomina_reintegro.txt
  • identificacion_periodonomina_salud.txt
  • identificacion_periodonomina_fondo_pension.txt
  • identificacion_periodonomina_fondo_seguridad_pensional.txt
  • identificacion_periodonomina_fondo_subsistencia.txt
  • identificacion_periodonomina_sindicatos.txt
  • identificacion_periodonomina_sanciones.txt
  • identificacion_periodonomina_libranzas.txt
  • identificacion_periodonomina_pagos_tercerosd.txt =>pagos terceros para deduccion
  • identificacion_periodonomina_anticiposd.txt =>anticipos para deduccion
  • identificacion_periodonomina_otras_deducciones.txt
  • identificacion_periodonomina_pension_voluntaria.txt
  • identificacion_periodonomina_retencion_fuente.txt
  • identificacion_periodonomina_afc.txt
  • identificacion_periodonomina_cooperativa.txt
  • identificacion_periodonomina_embargo_fiscal.txt
  • identificacion_periodonomina_plan_complementario.txt
  • identificacion_periodonomina_educacion.txt
  • identificacion_periodonomina_reintegrod.txt =>reintegro para deduccion
  • identificacion_periodonomina_deuda.txt
  • identificacion_periodonomina_valor_nomina.txt
  • identificacion_periodonomina_novedad.txt


  • Nota: Los archivos deben estar en la ruta enviada en el metodo.. En cada archivo va la estructura de la cadena de datos del metodo Nomina - Reemplazar

    Método

    ArchReemplazar(string ruta, string identificador)