Histórico da Página
...
Atributo | Tamaño | Path |
---|---|---|
numeroDocumento | 20 | fe:Invoice/cac:OrderReference/cbc:ID |
fecha | 10 | fe:Invoice/cac:OrderReference/cbc:IssueDate |
...
Informações | ||
---|---|---|
| ||
El dato es tomado del campo Docs Relacs (F2_UUIDREL), el formato de captura debe ser: ORDC/n/aaaa-mm-dd En donde: ORDC = Acrónimo de Orden de Compra (valor fijo) n = Número de documento aaaaa-mm-dd = Fecha del documento (año-mes-día) Por ejemplo ORDC/156/2020-02-05. Solo se permite informar una orden de compra de referencia por factura. IMPORTANTE: Se recomienda no utilizar el / en los datos de la Orden de Compra ya que es el caracter utilizado como separador de la información necesaria para la Orden de Compra. |
7.- Para el nodo de actividadEconomicaCIIU se deberá configurar el campo C.Actividad (A1_ATIVIDAD) del Cliente.
...
Parámetro | Contenido | Descripción |
---|---|---|
MV_CFDIAMB | 2 | Indica el ambiente de trabajo de certificación de factura electrónica: 1=Producción, 2=Homologación. |
MV_PROVFE | DFACTURA | Identifica el Fact. Electrónico/Prov. Tecnológico servicios de certificación de factura electrónica. Indicar alguno de estos: TSS o DFACTURA |
MV_TIPOFE | 1 | Indica el modelo de transmisión electrónica, 0 o vacío = Val. Posterior y 1 = Val. Previa. |
MV_TKN_EMP | cf5a933c22080afd84ca4e699983e3952c811dd9 | Token Empresa - The Factory HKA. |
MV_TKN_PAS | 4219be96602655094acb0fe281ab1bf7e4ad9c46 | Token Password - The Factory HKA. |
MV_WSRTSS | http://demoemision21v4.thefactoryhka.com.co/ws/v1.0/Service.svc?wsdl | URL del servicio web. |
MV_CFDDOCS | GetSrvProfString('startpath','')+'\cfd\facturas\' | Directorio donde se grabaran las facturas electrónicas. |
MV_ALTNUM | 1 | Verifica si el sistema permite o no, o si solamente informa, cuando se modifica el número de la factura. 1 - Informa. 2 - Pregunta. 3 - No permite. |
Importante : En caso de hacer uso de un servidor proxy, la ruta en el contenido del parametro MV_WSRTSS debe inicar con https en vez de http.
...
- Documento Soporte.
- Ingresar al módulo de Compras (SIGACOM), ir al menú |Actualizaciones | Movimientos | Factura de Entrada (MATA101N)
- En la pregunta ¿Tipo de Factura? seleccionar “Docto Soporte” y confirmar.
- En la pantalla principal, en el encabezado confirmar que en título se informe que es un “Doc. Soporte”
Dar clic en el botón “Incluir”. - Seleccionar al Proveedor que está relacionado al Cliente.
- Seleccionar la Serie configurada para el Documento Soporte, automáticamente se cargará el Número Documento y la Serie 2.
Agregar un Producto, Cantidad, Valor Unitario, Valor Total y el TES.
Nota title Nota Los Impuestos Variables(SFB) relacionados a la TES informada en la Factura deben contener información el campo Impuesto FE(FB_IMPSAT)
- En la pestaña “Títulos” indicar la Condición de Pago.
- Grabar la Factura.
- Transmisión de Documento Soporte.
- Ingresar al módulo de Facturación (SIGAFAT), ir el menú |Actualizaciones | Facturación | Transmitir Factura Electrónica (MATA486)
- Capturar los parámetros correspondientes para realizar el filtro de documentos.
¿Tipo de Documento? seleccionar “Docto. Soporte”.
¿Serie? seleccionar “DCS”.
¿Estatus? seleccionar “0” para obtener todos los documentos.
Asignar las Fechas Inicio/Fin. - Confirmar.
- En la pantalla principal verificar que exista el Documento Soporte.
- Dar clic en el botón “Transmitir”.
- Asignar la serie “DCS” y el Número de Documento Inicial y Final.
- Confirmar Transmisión.
- Revisar el Log de transmisión.
- Archivo XML del Documento Soporte.
Los archivos XML autorizados se crean en la carpeta configurada en el parámetro MV_CFDDOCS + "/autorizados/".- Revisar que el elemento "tipoDocumento" sea igual a "05" que indica que se transmitió un Documento Soporte. Ejemplo:
<cbc:InvoiceTypeCode>05</cbc:InvoiceTypeCode> - Dentro del elemento FacturaDetalle (cac:InvoiceLine) revisar que se haya creado el sub-elemento de "cac:InvoicePeriod" y revisar que informen los siguientes sub-elementos:
- StartDate: Fecha de emisión del documento.
- DescriptionCode: Forma de generación. El número "1" que indica que la forma de generación es "Por Operación".
- Description: Descripción de Forma de generación.
Ejemplo:
<cac:InvoicePeriod>
<cbc:StartDate>2022-04-11</cbc:StartDate>
<cbc:DescriptionCode>1</cbc:DescriptionCode>
<cbc:Description>Por operación</cbc:Description>
</cac:InvoicePeriod>
- Revisar que el elemento "tipoOperacion" sea igual a "10" si el Proveedor es "Residente", si el Proveedor es "No Residente" se informará "11". Ejemplo:
<cbc:CustomizationID>10</cbc:CustomizationID> - Dentro del elemento Proveedor (<cac:AccountingSupplierParty>) revisar que se haya informado el subelemento "detallesTributarios" y sus "Tributos". Ejemplo:
<cac:TaxScheme><cbc:ID>01</cbc:ID><cbc:Name>IVA</cbc:Name></cac:TaxScheme> - Revisar que se informen correctamente los valores del Documento Soporte (datos del Proveedor, Empresa emisora, Productos, Totales, etc..)
- Revisar que el elemento "tipoDocumento" sea igual a "05" que indica que se transmitió un Documento Soporte. Ejemplo:
- Monitor de Transmisión.
- Ingresar al módulo de Facturación (SIGAFAT), ir el menú |Actualizaciones | Facturación | Transmitir Factura Electrónica (MATA486)
- Capturar los parámetros correspondientes para realizar el filtro de documentos.
¿Tipo de Documento? seleccionar “Docto. Soporte”.
¿Serie? seleccionar “DCS”.
¿Estatus? seleccionar “0” para obtener todos los documentos.
Asignar las Fechas Inicio/Fin. - Confirmar.
- Dar clic en el botón “Monitor”.
- Asignar la Serie “DCS” y el Número de Documento Inicial y Final.
- Confirmar.
- Revisar el estatus del Documento Soporte.
- Imprimir PDF.
- Ingresar al módulo de Facturación (SIGAFAT), ir el menú |Actualizaciones | Facturación | Transmitir Factura Electrónica (MATA486)
- Capturar los parámetros correspondientes para realizar el filtro de documentos.
¿Tipo de Documento? seleccionar “Docto. Soporte”.
¿Serie? seleccionar “DCS”.
¿Estatus? seleccionar “0” para obtener todos los documentos.
Asignar las Fechas Inicio/Fin. - Confirmar.
- Dar clic en el botón “Otras Acciones”.
- Seleccionar la opción "Imprimir PDF".
- Asignar la Serie “DCS”, el Número de Documento Inicial y Final e indicar el Formato PDF.
- Confirmar.
- Revisar la información impresa en el archivo PDF del Documento Soporte.
- Recuperar XML.
- Ingresar al módulo de Facturación (SIGAFAT), ir el menú |Actualizaciones | Facturación | Transmitir Factura Electrónica (MATA486)
- Capturar los parámetros correspondientes para realizar el filtro de documentos.
¿Tipo de Documento? seleccionar “Docto. Soporte”.
¿Serie? seleccionar “DCS”.
¿Estatus? seleccionar “0” para obtener todos los documentos.
Asignar las Fechas Inicio/Fin. - Confirmar.
- Dar clic en el botón “Otras Acciones”.
- Seleccionar la opción "Recuperar XML"
- Asignar la Serie “DCS”, el Número de Documento Inicial y Final, y la Carpeta dónde será guardado el archivo.
- Confirmar.
- Revisar que el archivo XML del Documento Soporte se haya almacenado en la carpeta indicada.
2.10.4 Diccionario de datos
El usuario debe realizar las siguientes actualizaciones al diccionario de datos a través del módulo Configurador de Protheus (SIGACFG):
Campos en el archivo SX3 - Campos:
Crear campo F1_SOPORT
...
Si la factura que registra corresponde a un proveedor no obligado a facturar y éste comprobante será transmitido a la DIAN, indique Si, de lo contrario indique No.
- Uso del parámetro MV_ALTNUM
- El sistema actúa de acuerdo al valor que se configure siempre y cuando el numero de documento asignado ya exista, siendo:
MV_ALTNUM = 1 Se reasigna el consecutivo que corresponda de manera automática.
MV_ALTNUM = 2 El sistema pregunta al usuario si desea que se actualice el número de documento.
MV_ALTNUM = 3 No se reasigna número, el usuario podrá editar el número de documento.
En caso de editar el Núm. de Doc. (F1_DOC), y si se introduce un número de documento mayor al consecutivo que corresponda, el sistema reasigna automáticamente el número y presenta un aviso de la acción realizada.
2.10.4 Regla de rechazo DSAJ05b
The Factory HKA Colombia SAS informa que desde el próximo 10 de noviembre de 2024 la DIAN generará rechazo al transmitir un documento soporte cuando el tipo de documento del vendedor no corresponda a un valor válido de la lista, de acuerdo con lo establecido en el anexo técnico vigente para el documento soporte en adquisiciones con sujetos no obligados a expedir factura electrónica.
Es requisito reportar la información relacionada con los documentos de no residentes de acuerdo con los códigos que se indican en la tabla 16.2.1 Documento de identificación (Tipo de identificador fiscal) del anexo técnico 1.0 de la resolución 00167 de 2021.
DSAJ25b. El contenido de este atributo no corresponde a uno de los valores posibles de la lista.
Cuando el campo <tipoOperacion> se reporte como 11 (No Residente),
Nota: Conforme a la Normativa vigente, debe tenerse en cuenta lo que se indica para el concepto de residente fiscal en Colombia y no residente fiscal en Colombia.
En el campo <tipoIdentificacion>, podrá indicarse alguno de los valores de la siguiente tabla.
Para cumplir con esa nueva regla deberá actualizar el catálogo TiposDocIdentidad con los siguientes datos:
2.10.5 Diccionario de datos
El usuario debe realizar las siguientes actualizaciones al diccionario de datos a través del módulo Configurador de Protheus (SIGACFG):
Campos en el archivo SX3 - Campos:
Crear campo F1_SOPORT
Campo | F1_SOPORT |
Orden | ZZ |
Tipo | Caracter |
Preguntas en el archivo SX1 – Archivo de Preguntas:
Modificar grupo MATA486
Orden
01
Pregunta
¿Tipo de Documento ?
Tipo
Tamaño | 1 |
Decimal | 0 |
Formato |
@! |
Combo
Título | Doc. Soporte |
Descripción | Documento Soporte |
Nota de Debito
Nota de Credito
Modificar grupo MT101N
Utilizado | Si |
Obligatorio | No |
Browse | No |
Val. Sistema | Pertence("SN") |
Inicializador | "S" |
Opciones | S=Si;N=No |
Help | Si la factura que registra corresponde a un proveedor no obligado a facturar y éste comprobante será transmitido a la DIAN, indique Si, de lo contrario indique No. |
Preguntas en el archivo SX1 – Archivo de Preguntas:
Modificar grupo MATA486
Orden | 01 |
Pregunta | ¿Tipo de Documento ? |
Tipo | N |
Tamaño | 1 |
Decimal | 0 |
Validación | |
Objeto | Combo |
Consulta Estándar | |
Preselección | 0 |
Ítem 1 | Factura |
Ítem 2 | Nota de Debito |
Ítem 3 | Nota de Credito |
Ítem 4 | Docto Soporte |
Modificar grupo MT101N
Orden | 01 |
Orden | 01 |
Pregunta | ¿Tipo de factura ? |
Tipo | N |
Tamaño | 1 |
Decimal | 0 |
Validación | |
Objeto | Combo |
Consulta Estándar | |
Preselección | 0 |
Ítem 1 | Normal |
Ítem 2 | Benef. |
Ítem 3 | Gastos Imp. |
Ítem 4 | Conoc. Transp. |
Ítem 5 | Doc. Soporte |
...
- En el módulo Facturación(SIGAFAT), ir al menú Actualizaciones | Archivos | Clientes.
- Configurar un Cliente con los valores estandar.
- En el módulo Compras(SIGACOM), ir al menú Actualizaciones | Archivos | Productos.
- Configurar un Producto con el campo ¿Imp Salud? igual a "S - Si"
- En el módulo Compras (SIGACOM), ir al menú Actualizaciones | Archivos | Tipos de Entrada y Salida.
- Configurar un Tipo de Salida, con cálculo de Impuesto a los productos comestibles.
- En el módulo Compras (SIGACOM), ir al menú Actualizaciones | Archivos | Imp. Variables
- Configurar el impuesto ICUI:
- Impuesto (FB_CODIGO): CUI
- Descripción (FB_DESCR): PRODUCTOS COMESTIBLES ULTRAPRO
- Fórmula Entrada (FB_FORMENT): M100ICUI
- Fórmula Salida (FB_FORSAI): M460ICUI
- % Alícuota (FB_ALIQ): 10
- Cpo del L.F. (FB_CPOLVRO): C
- Clase Impuesto (FB_CLASSE): I-Impuesto
- Impuesto FE (FB_IMPSAT): ZZ
- Configurar el impuesto ICUI:
- En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Definición de Catálogos (FISA812).
- Validar que para el catálogo S020 - Impuestos Extras y que sea la siguiente:
- Validar que para el catálogo S020 - Impuestos Extras y que sea la siguiente:
En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Mantenimiento de Catálogos (FISA813).
Incluir manualmente o por medio del 20ImpuestosExtras.csv, la información de los Impuestos que serán impresos como campos extras.
...
Ejemplo para el proceso por medio del archivo .CSV
Configurar el parámetro MV_PATH814, con la ruta local donde se colocarán los archivos en formato .csv para la carga de catálogos.
Tener el siguiente archivo con la información de la fabrica de software, el cual debe tener la siguiente información separa por pipes (|), donde:
Posición 1 = Valor para el atributo controlInterno1 (informar el nombre del Software).
Posición 2 = Valor para el atributo controlInterno2 (informar el NIT del Fabricante de Software).
Posición 3 = Valor para el atributo nombre (para el nombre de fabricante se debe colocar el valor 5170007).
Posición 4 = Valor para el atributo pdf (colocar el valor 1 para visualizar los datos del fabricante en el PDF de la representación gráfica).
Posición 5 = Valor para el atributo valor (informar la Razón Social del Fabricante de Software).
Posición 6 = Valor para el atributo xml (colocar el valor 1 para visualizar los datos del fabricante en el XML).
Posición 7 = Valor que se utilizará para determinar el Impuesto que se va a imprimir (colorcar el código del impuesto de la tabla SFB - Impuestos Varibles).
2.18.3 Ejemplo de utilización
Para Documento de Entrada con cálculo de impuestos saludables ICUI/IBUA
- En el Encabezado informar del Documento informar los campos:
- Proveedor (F1_FORNECE)
- Tienda (F1_LOJA)
- Serie (F1_SERIE)
- Num. de Doc. (F1_DOC)
- En los Ítems del Documento informar los siguientes campos:
- Producto (D1_COD) - campo ¿Imp Salud? igual a "S - Si"
- Cantidad (D1_QUANT)
- Valor Unit. (D1_VUNIT)
- Valor Total (D1_TOTAL)
- Tipo Entrada (D1_TES)
- En la pestaña "Impuestos" en el pie del Documento, validar el cálculo de impuestos saludables ICUI/BUA
Para Documento de Salida con cálculo de impuestos saludables ICUI/IBUA
...
- Cliente (F2_CLIENTE)
- Tienda (F2_LOJA)
- Serie Docto. (F2_SERIE)
- N. Documento (F2_DOC)
...
- Producto (D2_COD) - campo ¿Imp Salud? igual a "S - Si"
- Cantidad (D2_QUANT)
- Valor Unit. (D2_PRCVEN)
- Valor Total (D2_TOTAL)
- Tipo Salida (D2_TES)
- I-Impuesto
- Impuesto FE (FB_IMPSAT): ZZ
- En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Definición de Catálogos (FISA812).
- Validar que para el catálogo S020 - Impuestos Extras y que sea la siguiente:
- Validar que para el catálogo S020 - Impuestos Extras y que sea la siguiente:
En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Mantenimiento de Catálogos (FISA813).
Incluir manualmente o por medio del 20ImpuestosExtras.csv, la información de los Impuestos que serán impresos como campos extras.
Ejemplo para el proceso manual
Ejemplo para el proceso por medio del archivo .CSV
Configurar el parámetro MV_PATH814, con la ruta local donde se colocarán los archivos en formato .csv para la carga de catálogos.
Tener el siguiente archivo con la información de la fabrica de software, el cual debe tener la siguiente información separa por pipes (|), donde:
Posición 1 = Valor para el atributo controlInterno1 (informar el nombre del Software).
Posición 2 = Valor para el atributo controlInterno2 (informar el NIT del Fabricante de Software).
Posición 3 = Valor para el atributo nombre (para el nombre de fabricante se debe colocar el valor 5170007).
Posición 4 = Valor para el atributo pdf (colocar el valor 1 para visualizar los datos del fabricante en el PDF de la representación gráfica).
Posición 5 = Valor para el atributo valor (informar la Razón Social del Fabricante de Software).
Posición 6 = Valor para el atributo xml (colocar el valor 1 para visualizar los datos del fabricante en el XML).
Posición 7 = Valor que se utilizará para determinar el Impuesto que se va a imprimir (colorcar el código del impuesto de la tabla SFB - Impuestos Varibles).
2.18.3 Ejemplo de utilización
Para Documento de Entrada con cálculo de impuestos saludables ICUI/IBUA
- En el Encabezado informar del Documento informar los campos:
- Proveedor (F1_FORNECE)
- Tienda (F1_LOJA)
- Serie (F1_SERIE)
- Num. de Doc. (F1_DOC)
- En los Ítems del Documento informar los siguientes campos:
- Producto (D1_COD) - campo ¿Imp Salud? igual a "S - Si"
- Cantidad (D1_QUANT)
- Valor Unit. (D1_VUNIT)
- Valor Total (D1_TOTAL)
- Tipo Entrada (D1_TES)
- En la pestaña "Impuestos" en el pie del Documento, validar el cálculo de impuestos saludables ICUI/BUA
Para Documento de Salida con cálculo de impuestos saludables ICUI/IBUA
- En el Encabezado informar del Documento informar los campos:
- Cliente (F2_CLIENTE)
- Tienda (F2_LOJA)
- Serie Docto. (F2_SERIE)
- N. Documento (F2_DOC)
- En los Ítems del Documento informar los siguientes campos:
- Producto (D2_COD) - campo ¿Imp Salud? igual a "S - Si"
- Cantidad (D2_QUANT)
- Valor Unit. (D2_PRCVEN)
- Valor Total (D2_TOTAL)
- Tipo Salida (D2_TES)
- En la pestaña "Impuestos" en el pie del Documento, validar el cálculo de impuestos saludables ICUI/IBUA
2.19 Rechazos al transmitir una Factura de Exportación (ZE02,FAR02,FAR03).
Producto |
| |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: |
| |||||||||
Segmento: |
| |||||||||
Módulo: | SIGAFAT - Facturación | |||||||||
Función: |
| |||||||||
País: | Colombia (COL) | |||||||||
Ticket: | 20049456 | |||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-23201 |
SITUACIÓN/REQUISITO
En la rutina de Documentos Electrónicos (MATA486), al intentar transmitir una Factura de Exportación (NF) se presenta las siguientes reglas de rechazo:
- ZE02 ,Valor de la Firma inválido.
- FAR02, Descargo de Responsabilidad - "Remítase a regla FAD15b ya que al cumplirse dicha regla verifica que este elemento corresponder al mismo valor informado en DocumentCurrencyCode.
- FAR03, Descargo de Responsabilidad - "SourceCurrencyBaseRate trae valor diferente a 1.00.
SOLUCION
En la rutina de Funciones Genéricas de Facturación Electrónica - Colombia (M486XFUNCO):
En la función Función para llenado de oWSfactura solicitado por TheFactory HKA, se realiza el ajuste para cuando el documento es una Factura de Exportación, envié en los Datos adicionales (oWSextras) el valor del campo extra "FEXP2".
Regla de Rechazo ZE02- Mensaje: Valor de la Firma inválido
En la INI de Script de generación de archivos XML; NF y NDC de exportación (FATSECOL):
Para las reglas de rechazo FAR02 y FAR03 se requiere modificar las siguientes lineas en al archivo INI.
Nota | ||
---|---|---|
| ||
(PRE) _aTotal[001] += ' <cbc:SourceCurrencyCode>' + "COP" + '</cbc:SourceCurrencyCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:SourceCurrencyBaseRate>' + Alltrim(Str(SF2->F2_TXMOEDA,11,2)) + '</cbc:SourceCurrencyBaseRate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:TargetCurrencyCode>' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) + '</cbc:TargetCurrencyCode>' + ( chr(13)+chr(10) ) |
2.20 Transmisión de Factura de Venta (NF), Nota de Crédito (NCC) y Nota de Débito con Cliente Nacional con Moneda diferente de 1-Pesos (Anexo 1.9)
Producto |
| ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: |
| ||||||||||||||||||
Segmento: |
| ||||||||||||||||||
Módulo: | SIGAFAT - Facturación | ||||||||||||||||||
Función: |
| ||||||||||||||||||
País: | Colombia (COL) | ||||||||||||||||||
Ticket: | 20240417 | ||||||||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-23601 |
SITUACIÓN/REQUISITO
En la rutina de Documentos Electrónicos (MATA486), al realizar la transmisión de una Factura de Venta (NF), Nota de Crédito de Cliente (NCC) o Nota de Débito de Cliente (NDC) con Cliente Nacional no está realizando la conversión de los montos a Pesos Colombianos (COP) y los atributos MonedaOrigen, MonedaDestino, BaseMonedaOrigen y BaseMonedaDestino se envían invertidos, lo cual presenta los siguientes rechazos:
FAR02, Descargo de Responsabilidad - "Remítase a regla FAD15b ya que al cumplirse dicha regla verifica que este elemento corresponder al mismo valor informado en DocumentCurrencyCode.
FAR03, Descargo de Responsabilidad - "SourceCurrencyBaseRate trae valor diferente a 1.00
Al realizar la transmisión de una Factura de Venta de Exportación (Cliente Extranjero), en el SoapRequest en los nodos direccionCliente y direccionFiscal, se solicita que sólo se envíen los atributos Dirección y País.
SOLUCION
En la rutina de Funciones Genéricas de Documentos Electrónicos (M486XFUN):
En las Funciones que generan los nodos de Impuestos a nivel encabezado y detalle (fGetTaxas/fGetTaxDet), se desactivó el uso del parámetro MV_ANEXO19, que permitía desactivar la funcionalidad del Anexo 1.9, el cual ya es obligatorio a partir del 01 de Mayo del 2024, y se eliminó condición de que el Cliente sea Extranjero (A1_EST igual a 'EX') para que la conversión a moneda Pesos Colombianos (COP) de los Impuestos y la conversión se realizará si la especie del documento es Factura de Venta (NF), Nota de Crédito de Cliente (NDC) o Nota de Débito de Cliente (NDC) y la Moneda (F1_MOEDA/F2_MOEDA) es diferente de 1.
En la rutina de Funciones Genéricas de Facturación Electrónica de Colombia (M486XFUNCO):
Se realizaron los siguientes ajuste, que aplican si el Cliente es Extranjero (A1_EST = 'EX') o Nacional, y la Moneda DIAN (CTO_MOESAT) de la Moneda es diferente de (COP) :
- El atributo moneda se envía con el valor COP.
- Se envían los campos extras FEXP1, FEXP2 y FEXP3, para activar el UBL Extensión y enviar los valores en la moneda original del Documento.
- Se realiza ajuste para que no se envié en los campos extras la tasa de cambio para las Facturas de Exportación o Nacional.
Se realiza ajuste para que al transmitir una Factura de Venta (NF), Nota de Crédito de Cliente (NCC) o Nota de Débito de Cliente (NDC), si el Cliente es Extranjero (A1_EST igual a 'EX') en los nodos direccionCliente y direccionFiscal del Soap Request, se envien únicamente los atributos Direccion y Pais.
En los archivos de la Estructura del XML de Documentos de Salida y Estructura del XML de Documentos de Entrada (FATSCOL.INI/FATECOL.INI):
Se realizaron los siguientes ajustes, para cuando la moneda del documento es diferente de la moneda local:
- Informar el atributo SourceCurrencyCode con el valor COP.
- Informar el atributo SourceCurrencyBaseRate con el valor del campo Tasa Moneda (F1_TXMOEDA/F2_TXMOEDA).
- Informar el atributo TargetCurrencyCode con el valor del campo Moneda DIAN (CTO_MOESAT) de la moneda del documento.
- Realizar la conversión del Descuento y Precio de Venta para cada uno de los ítems.
En el archivo de la Estructura del XML de Documentos de Exportación (FATSECOL.INI): - Se elimina el uso del parámetro MV_ANEXO19, que permitía desactivar la funcionalidad del Anexo 1.9, el cual ya es obligatorio a partir del 01 de Mayo del 2024.
- Se realiza conversión del atributo LineExtensionAmount del nodo InvoiceLine/DebitNoteLine, para enviar de manera correcta el atributo MontoBase del nodo Descuentos del Soap Request.
2.20.1 Configuraciones Previas
Realizar los ajustes que se indican en color azul para cada uno de los archivos FATSCOL.INI ,FATECOL.INI y FATSECOL.INI:
Informações | ||
---|---|---|
| ||
FATSCOL.INI //FATSCOL.INI -- NFE Colombia v2 - Resolucion 0019 / FEB. 2016 [XXX INICIALIZACION] (PRE) _aTotal[117] := IIF(_aTotal[116] .AND. SF2->(ColumnPos("F2_TIPNOTA")) > 0, SF2->F2_TIPNOTA , "") (PREREG) FsQuery(_aTotal[101],1,"D2_DOC='" + SF2->F2_DOC + "' AND D2_SERIE='" + SF2->F2_SERIE + "' AND D2_CLIENTE='" + SF2->F2_CLIENTE + "' AND D2_LOJA='" + SF2->F2_LOJA + "'","SD2->D2_DOC=SF2->F2_DOC .AND. SD2->D2_SERIE=SF2->F2_SERIE .AND. SD2->D2_CLIENTE=SF2->F2_CLIENTE .AND. SD2->D2_LOJA=SF2->F2_LOJA","D2_ITEM") .And. .T. [SFP CONTROL FOMULARIOS] [SD2 GENERANDO_XML] [XXX CABECERA] [XXX FACTURA] // Manual con serie (PRE) _aTotal[001] += ' <cbc:IssueDate>'+ _aTotal[095] +'</cbc:IssueDate>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:InvoiceTypeCode listAgencyID="195" listAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)" listSchemeURI="http://www.dian.gov.co/contratos/facturaelectronica/v1/InvoiceType">'+ IIF(AllTrim(SF2->F2_ESPECIE)=="NF","01","92") +'</cbc:InvoiceTypeCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:Note><![CDATA['+ IIF(AllTrim(SF2->F2_ESPECIE)=="NDC",SF2->F2_MOTIVO,"") + ']]></cbc:Note>' + ( chr(13)+chr(10) ) //Documentos referenciados (solo facturas) // BillingReference solo para la Nota de Débito [XXX EMISOR] [XXX RECEPTOR] (PRE) _aTotal[001] := ' <fe:AccountingCustomerParty>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:PaymentTerms>' + ( chr(13)+chr(10) ) [XXX IMPUESTOS] [XXX TOTALES] [SD2 INVOICE] [XXX INVOICE_FIN] [XXX FACTURA] (ARQ) _aTotal[094] |
Informações | ||
---|---|---|
| ||
FATECOL.INI //FATECOL.INI -- NFE Colombia v2 - Resolucion 0019 / FEB. 2016 [XXX INICIALIZACION] (PRE) _aTotal[033] := ALLTRIM (SF1->F1_ESPECIE) (PREREG) FsQuery(_aTotal[101],1,"D1_DOC='" + SF1->F1_DOC + "' AND D1_SERIE='" + SF1->F1_SERIE + "' AND D1_FORNECE='" + SF1->F1_FORNECE + "' AND D1_LOJA='" + SF1->F1_LOJA + "'","SD1->D1_DOC=SF1->F1_DOC .AND. SD1->D1_SERIE=SF1->F1_SERIE .AND. SD1->D1_FORNECE=SF1->F1_FORNECE .AND. SD1->D1_LOJA=SF1->F1_LOJA","D1_ITEM") .And. .T. [SFP CONTROL FOMULARIOS] [SD1 GENERANDO_XML] [XXX CABECERA] [XXX FACTURA] (PRE) _aTotal[001] := IIF(_aTotal[116] .OR. _aTotal[117],'<fe:Invoice ','<fe:CreditNote ') (PRE) _aTotal[001] += ' <ext:UBLExtensions>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:SoftwareProvider>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:ProviderID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)" schemeURI="http://www.unece.org/trade/untdid/d08a/tred/tred3055.htm" schemeName="NIT, RUT" schemeDataURI="http://www.unece.org/trade/untdid/d08a/tred/tred3055.htm" schemeName="NIT, RUT" schemeDataURI="www.dian.gov.co/contenidos/servicios/rut_preguntasfrecuentes.html"+ _aTotal[098] +'</sts:ProviderID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:SoftwareID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)" schemeURI="http://www.unece.org/trade/untdid/d08a/tred/tred3055.htm" schemeName="Código de Activación" schemeDataURI="http://www.dian.gov.co/micrositios/fac_electronica/documentos/Guia_del_usuario_Habilitacion_Adquirente.pdf" >'+ _aTotal[099] +'</sts:SoftwareID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:SoftwareProvider>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:SoftwareSecurityCode schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)" schemeURI="http://www.unece.org/trade/untdid/d08a/tred/tred3055.htm" schemeName="Código de Seguridad del Software" schemeDataURI="http://www.dian.gov.co/micrositios/fac_electronica/documentos/Anexo_Tecnico_003_Mecanismos_Sistema_Tecnico_de_Control.pdf">'+ _aTotal[100] +'</sts:SoftwareSecurityCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:DianExtensions>' + ( chr(13)+chr(10) ) // BillingReference [XXX EMISOR] [XXX RECEPTOR] (PRE) _aTotal[001] := '<fe:AccountingCustomerParty>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cac:PaymentTerms>' + ( chr(13)+chr(10) ) [XXX IMPUESTOS] [XXX TOTALES] [SD1 INVOICE] (PREREG) _aTotal[108] := fGetTaxDet(SD1->D1_DOC,SD1->D1_SERIE,SD1->D1_FORNECE,SD1->D1_LOJA,SD1->D1_TES,If(_aTotal[116] .OR. _aTotal[117], "NCC",AllTrim(SF1->F1_ESPECIE))) [XXX INVOICE_FIN] [XXX FACTURA] (ARQ) _aTotal[094] |
Informações | ||
---|---|---|
| ||
FATSECOL.INI //FATSCOL.INI -- NFE Colombia v2 - Resolucion 0019 / FEB. 2016 [XXX INICIALIZACION] (PRE) _aTotal[033] := ALLTRIM (SF2->F2_ESPECIE) (PRE) _aTotal[115] := SuperGetMV("MV_ANEXO19",.F.,.F.) Se debe eliminar (PREREG) FsQuery(_aTotal[101],1,"D2_DOC='" + SF2->F2_DOC + "' AND D2_SERIE='" + SF2->F2_SERIE + "' AND D2_CLIENTE='" + SF2->F2_CLIENTE + "' AND D2_LOJA='" + SF2->F2_LOJA + "'","SD2->D2_DOC=SF2->F2_DOC .AND. SD2->D2_SERIE=SF2->F2_SERIE .AND. SD2->D2_CLIENTE=SF2->F2_CLIENTE .AND. SD2->D2_LOJA=SF2->F2_LOJA","D2_ITEM") .And. .T. [SFP CONTROL FOMULARIOS] [SD2 GENERANDO_XML] [XXX CABECERA] [XXX FACTURA] (PRE) _aTotal[001] := IIF(AllTrim(SF2->F2_ESPECIE)=="NF",'<fe:Invoice ','<fe:DebitNote ') (PRE) _aTotal[001] += ' <ext:UBLExtensions>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:IdentificationCode listAgencyID="6" listAgencyName="United Nations Economic Commission for Europe" listSchemeURI="urn:oasis:names:specification:ubl:codelist:gc:CountryIdentificationCode-2.0">CO</cbc:IdentificationCode>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </sts:InvoiceSource>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <sts:ProviderID schemeAgencyID="195" schemeAgencyName="CO, DIAN (Direccion de Impuestos y Aduanas Nacionales)">'+ _aTotal[098] +'</sts:ProviderID>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' </ext:ExtensionContent>' + ( chr(13)+chr(10) ) (PRE) _aTotal[001] += ' <cbc:IssueDate>'+ _aTotal[095] +'</cbc:IssueDate>' + ( chr(13)+chr(10) ) // DiscrepancyResponse Solo para la Nota de Débito // BillingReference solo para la Nota de Débito [XXX EMISOR] [XXX RECEPTOR] (PRE) _aTotal[001] := ' <fe:AccountingCustomerParty>' + ( chr(13)+chr(10) ) [XXX IMPUESTOS] [XXX TOTALES] [SD2 INVOICE] [XXX INVOICE_FIN] [XXX FACTURA] (ARQ) _aTotal[094] |
2.20.2 Ejemplo de utilización
En el módulo Facturación (SIGAFAT):
Desde el Actualizaciones | Archivos | Clientes, configurar un Cliente Nacional para la Factura de Venta/Nota de Crédito de Cliente.
Desde el Actualizaciones | Archivos | Productos, configurar el o los Productos para la Factura de Venta/Nota de Crédito de Cliente.
Desde el Actualizaciones | Archivos | Tipos de Entrada y Salida, configurar el Tipo de Salida (TES) para la Factura de Venta y Tipo de Entrada (TES) para la Nota de Crédito de Cliente.
En el módulo Facturación (SIGAFAT):
- Ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
- Incluir una nueva Factura de Venta (NF).
- Informar en el encabezado el Cliente Nacional configurado previamente.
- Informar en el detalle el o los Productos (D2_COD), Cantidad (D2_QUANT), Valor Unit. (D2_PRCVEN), Valor Total D2_TOTAL) y Tipo Salida (D2_TES).
- Ir al menú Actualizaciones | Facturación | Transmisión Electrónica (MATA486).
- Realizar la transmisión de la Factura de Venta (Validar que la transmisión haya sido exitosa)
- Desde Otras acciones ejecutar la acción Imprimir PDF.
- Validar que en el formato PDF, los montos se muestren en moneda COP, y que se visualice la información en la moneda origen del Documento.
2.21 Catálogo TRIBUTOS DIAN en Proveedores/Clientes
Producto |
| |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: |
| |||||||||
Segmento: |
| |||||||||
Módulo: | SIGAFAT - Facturación | |||||||||
Función: |
| |||||||||
País: | Colombia (pacote 014357) | |||||||||
Ticket: | 20750366 | |||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-23942 |
SITUACIÓN/REQUISITO
Se solicita habilitar una tabla para el catálogo de los Tributos en la rutina de Mantenimiento de Catálogos "FISA812", y esta asociarla al campo Cód. Tributo (AIT_CODTRI), debido a que la consulta la actual que esta relacionada al campo Cód. Tributo (AIT_CODTRI) esta usando una tabla con información que no es correspondiente a los Tributos válidos por la DIAN.
Por lo tanto, se solicita que la consulta que se muestra para informar el Tributo DIAN en Clientes y Proveedores, use el catálogo correcto y solo muestre las opciones correspondientes a los Tributos válidos.
SOLUCION
En la rutina de Carga de Catálogos (FISA814):
Se realiza ajuste para crea la estructura y contenido para la Tabla S021 - "Tributos".
En la rutina de Registro de Responsabilidades/Obligaciones DIAN y Tributos (FISA827):
Se realiza ajuste para el campo Cód. Tributo (AIT_CODTRI), donde se modificó la consulta asociada al campo con la nueva tabla creada de Tributos (S021).
Aviso | ||
---|---|---|
| ||
Es importante considerar que cuando se cuente con la rutina Registro de Responsabilidades/Obligaciones DIAN y Tributos (FISA827) con fecha 05/08/2024 o superior se debe realizar la generación de la tabla "S021 - Tributos", para poder asignar un tributo al Proveedor/Cliente, en caso contrario no se mostrará la descripción del Tributo seleccionado. |
2.21.1 Configuraciones Previas
Creación de consulta COL021:
Alias | Tipo | Secuencia | Columna | Descripción | Contenido |
COL021 | 1 | 01 | RE | Tributos | F3I |
COL021 | 2 | 01 | 01 | Tributos | F812SXB("S021","Codigo") |
COL021 | 5 | 01 | VAR_IXB |
Modificación en la tabla SX3 - Campos
Campo | AIT_CODTRI |
Tipo | C |
Consulta | COL021 |
Val. Sistema | Vazio() .Or. ValidF3I("S021", M->AIT_CODTRI,1,2) |
2.22 Transmisión Electrónica en el guardado de los Documentos.
Producto |
| |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: |
| |||||||||||||||||||||
Segmento: |
| |||||||||||||||||||||
Módulo: | SIGAFAT - Facturación | |||||||||||||||||||||
Función: |
| |||||||||||||||||||||
País: | Colombia (pacote 014357) | |||||||||||||||||||||
Ticket: | No aplica (Pacote: 014412) | |||||||||||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-23953 |
SITUACIÓN/REQUISITO
Al finalizar la inclusión de una Factura de Venta (NF), Nota de Crédito de Cliente (NCC), Nota de Débito de Cliente (NDC), Documento Soporte (NF), Nota de Ajuste de Crédito (NCP) y Nota de Ajuste de Débito (NDP), se debe permitir la tranmisión electrónica de los documentos.
SOLUCION
En la rutina de Documentos Fiscales - Colombia (LOCXCOL):
Se crea la función LxTraCOL(), para llamar las funciones que Realiza Pre-validación de Datos para Transmisión (M486VLDDOC), Genera el XML (M486GERXML), Realiza la Transmisión Electrónica (M486SENDPT) y Actualiza el Estatus (M486UPDST).
En la función que Carga la configuración de los documentos 22 y 23 (NCP y NDP de Ajuste) en el array aCfg (lxEstrcCol), se ajustó la posición 3 a .T. para Notas de Ajuste de Crédito (NCP) y Notas de Ajuste de Débito (NDP) para permitir el llamado de la función CFDVerific() para validar si se realiza la transmisión electrónica después de guardar los documentos.
En la rutina de Documentos Fiscales (LOCXNF):
En la Función que realiza el grabado de las Notas Fiscales (GravaNfGeral), se excluye para el país Colombia el llamado a la Función para la creación de documentos electrónicos en formato XML (CFDGerXML) para que se realice cuando el usuario confirme la transmisión electrónica de acuerdo al uso del parámetro MV_CFDUSO, y se realiza el llamado a la Función que Realiza la transmisión electrónica de documentos fiscales para el país Colombia (LxTraCOL), para llamar las funciones que Realiza Pre-validación de Datos para Transmisión (M486VLDDOC), Genera el XML (M486GERXML), Realiza la Transmisión Electrónica (M486SENDPT) y Actualiza el Estatus (M486UPDST).
En la rutina de Funciones Genéricas Notas Fiscales (LOCXFUNA):
En la Función para la creación de documentos electrónicos en formato XML (CFDGerXML), se realiza ajuste para que se realice la generación del XML, sin importar si la rutina llamadora es la rutina de Documento Electrónicos (MATA486).
En la rutina de Documentos Electrónicos (MATA486):
En la Función que Realiza la Transmisión Electrónica (M486SENDPT), se activan parámetros para la funcionalidad de envío por email, desde rutinas diferentes de Documentos Electrónicos (MATA486), para evitar el uso de la pregunta ¿Envío a Email? (MV_PAR07 )del grupo de preguntas MATA486.
Se realiza ajuste para eliminar que las funciones que Realiza Pre-validación de Datos para Transmisión (M486VLDDOC), Genera el XML (M486GERXML), Realiza la Transmisión Electrónica (M486SENDPT) y Actualiza el Estatus (M486UPDST) no sean estáticas y se puedan mandar llamar desde cualquier rutina diferente de la de Documentos Electrónicos (MATA486)
Para la funcionalidad del parámetro MV_CFDUSO, se tienen las siguientes reglas:
Valor | Comportamiento |
---|---|
1 | Preguntará si se quiere transmitir el documento una vez finalizado el registro, si es afirmativa la respuesta, también preguntará si se realizará el envío por mail. |
2 | Preguntará si se quiere transmitir el documento una vez finalizado el registro, y si no hubo errores, enviará por mail el documento sin preguntar. |
3 | No preguntará si se quiere transmitir el documento una vez finalizado el registro, lo transmitirá y realizará el envío por mail del documento sin preguntar. |
Aviso | ||
---|---|---|
| ||
Si el parámetro MV_CFDUSO, contiene un valor diferente de 1, 2, 3, vacio o no existe, no se realizará el proceso de transmisión electrónica al guardar los documentos de tipo Factura de Venta (NF), Nota de Crédito de Cliente (NCC), Nota de Débito de Cliente (NDC), Documento Soporte (NF), Nota de Ajuste de Crédito (NCP) o Nota de Ajuste de Débito (NDP). Las Facturas de Venta (NF), generadas a partir del Pedido de Venta desde la rutina de Generación de Notas (MATA468N), deben ser transmitidas desde la rutina de Documentos Electrónico (MATA486). |
2.22.1 Configuraciones previas
En la sección [XXX INVOICE_FIN] del archivo FATECOL.INI agregar la siguiente línea:
Configurar el siguiente parámetro:
Nombre de la Variable | MV_CFDUSO |
Tipo | C - Caracter |
Descripción | Indica modo de trans. electrónica al guardar doc., 1-Confirma trans. y envío,2-Confirma trans. y envío automático, 3-trans. y envío automático. |
Valor Estándar | 0 |
2.22.2 Ejemplo de utilización
a) Parámetro MV_CFDUSO igual a 1
- Configurar el parámetro MV_CFDUSO con el valor 1.
- En el módulo Facturación (SIGAFAT), menú Actualizaciones | Facturación | Facturaciones (MATA467N).
- Incluir una Factura de Venta (NF).
- Informar los datos del Encabezado e ítems.
- Presionar el botón Grabar, para realizar el grabado de la Factura.
- Confirmar la transmisión del documento:
Informações title Información Si el usuario selecciona la opción No en la confirmación de la Transmisión Eletrónica, no se realiza la validación para la transmisión, generación del XML, transmisión del documento electrónico, y no se visualiza la pregunta de confirmación de envío por email.
Confirmar el envío por mail del documento electrónico.
Informações title Información Si el usuario selecciona la opción No en la confirmación del envío por email, no se realiza el proceso de envío de email una vez finalizado el proceso de transmisión.
El envío de email, es un proceso que es realizado por el Proveedor Tecnológico denominado The Factory HKA, durante el proceso de transmisión electrónica.
- Una vez que se realizó la validación, generación del XML y transmisión del documento electrónico, se visualiza el aviso que informa que la Factura de Venta Electrónica fue Autorizada.
b) Parámetro MV_CFDUSO igual a 2
- Configurar el parámetro MV_CFDUSO con el valor 2.
- En el módulo Facturación (SIGAFAT), menú Actualizaciones | Facturación | Facturaciones (MATA467N).
- Incluir una Factura de Venta (NF).
- Informar los datos del Encabezado e ítems.
- Presionar el botón Grabar, para realizar el grabado de la Factura.
Confirmar la transmisión del documento:
Informações title Información Cuando el parámetro MV_CFDUSO está configurado con el valor 2, no se visualiza pregunta para confirmar el envío de mail ya que este proceso se realiza en automático, enviando el documento autorizado al correo que fue informado en el campo E-Mail (A1_EMAIL) del Cliente.
El envío de email, es un proceso que es realizado por el Proveedor Tecnológico denominado The Factory HKA, durante el proceso de transmisión electrónica.
- Una vez que se realizó la validación, generación del XML y transmisión del documento electrónico, se visualiza el aviso que informa que la Factura de Venta Electrónica fue Autorizada.
c) Parámetro MV_CFDUSO igual a 3
- Configurar el parámetro MV_CFDUSO con el valor 3.
- En el módulo Facturación (SIGAFAT), menú Actualizaciones | Facturación | Facturaciones (MATA467N).
- Incluir una Factura de Venta (NF).
- Informar los datos del Encabezado e ítems.
Presionar el botón Grabar, para realizar el grabado de la Factura.
Informações title Información Cuando el parámetro MV_CFDUSO está configurado con el valor 3, se realiza en automático el proceso de transmisión electrónica y envío de email.
El envío de email, es un proceso que es realizado por el Proveedor Tecnológico denominado The Factory HKA, durante el proceso de transmisión electrónica.
- Una vez que se realizó la validación, generación del XML y transmisión del documento electrónico, se visualiza el aviso que informa que la Factura de Venta Electrónica fue Autorizada.
2.23 Tag Obligatorias en XML de Factura por mandato(Tipo operación 11 - Mandato)
Producto | TOTVS Backoffice | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||||||||||||||
Segmento: | Backoffice | ||||||||||||||||||
Módulo: | SIGAFAT - Facturación | ||||||||||||||||||
Función: |
| ||||||||||||||||||
País: | COL (pacote 014724) | ||||||||||||||||||
Ticket: | 21140115 | ||||||||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMICNS-21549 |
SITUACIÓN/REQUISITO
Se realiza la generación de una factura de venta desde la rutina de Facturaciones (MATA467N), informando el campo Tipo Oper. (F2_TIPOPE) con el valor "11" para indicar que se trata de una factura de venta por mandato.
Se identifica que al realizar la transmisión de la factura, ya sea desde la rutina Transmitir Factura electrónica (MATA486) o directamente desde la rutina Facturaciones (MATA467N), el SOAP-REQUEST generado por el sistema no contiene todos los tags que indica the factory para la transmisión de este documento.
De acuerdo con la documentación proporcionada por The Factory, las etiquetas obligatorias para este tipo de documento con operaciones por mandato a nivel detalle de la factura son las siguientes:
- idEsquema
- mandatorioNumeroIdentificacion
- mandatorioNumeroIdentificacionDV
- mandatorioTipoIdentificacion
Informações | ||
---|---|---|
| ||
Para más información puede consultar la siguiente documentación proporcionada por The Factory: |
SOLUCION
Dentro de la rutina de Carga de catálogos(FISA814), se realizan los siguientes ajustes:
- En la función encargada de crear los catálogos para país Colombia (f814CatCol), se realiza la creación de la estructura y la carga de datos de la nueva tabla "S022 - Mandatorios", para que el usuario pueda informar los datos que serán presentados en las etiquetas mandatorioNumeroIdentificacion, mandatorioNumeroIdentificacionDV y mandatorioTipoIdentificacion del SOAP-REQUEST.
Dentro de la rutina Funciones Documentos Fiscales(LOCXCOL), se realizan los siguientes ajustes:
- Se crean la nueva función aVldMdCol, la cual está encargada de validar que los productos tengan informado el campo Cod. Mandato (B1_CODMAN) con un código de la nueva tabla "S022 - Mandatorios" cuando el tipo de operación informada en el encabezado del pedido de venta (C5_TIPOPE) o en el encabezado de la factura de venta (F2_TIPOPE) sea igual a "11". En caso de que existan productos no cuenten con Cod. Mandato(B1_CODMAN) informando, se manda un mensaje al usuario para que confirme o no el proceso de guardado.
- Se crea la nueva función a410TudOkCol, la cual se encargara de realizar las validaciones específicas para Colombia al momento de guardar o editar algún pedido de venta.
- Dentro de la nueva función a410TudOkCol y en la función NfTudOkCol, se realiza el llamado a la nueva función aVldMdCol cuando el campo Tipo Oper.(C5_TIPOPE | F2_TIPOPE) es igual a "11 - Mandato".
Dentro de la rutina Funciones genéricas para Pedidos de Venta (MATV410A), se realizan los siguientes ajustes:
- Se realiza el llamado a la nueva función a410TudOkCol para el país Colombia.
Dentro del archivo Estructura del XML de Documentos de Salida(FATSCOL), se realiza los siguientes ajustes:
- Se agrega una nueva etiqueta llamada cbc:IDMandatory a nivel detalle de factura, la cual toma el valor del campo Cód Mandato (B1_CODMAN) y solo se mostrará cuando el campo Cód Mandato (B1_CODMAN) exista y no este vacío.
Dentro de la rutina Funciones Genéricas de Facturación Electrónica de Colombia(M486XFUNCO), se realizan los siguientes ajustes:
- En la función para Llenado de oWSdetalleDeFactura solicitado por TheFactory HKA(M486DETDOC), se realiza el ajuste para generar las tags idEsquema, mandatorioNumeroIdentificacion, mandatorioNumeroIdentificacionDV y mandatorioTipoIdentificacion tomando en cuenta el código informando de la etiqueta cbc:IDMandatory del XML generado por el archivo FATSCOL.INI para buscar la información en el nuevo catálogo S022 - Mandatorios.
2.23.1 Configuraciones previas
a) Configuraciones de diccionario y archivo FATSCOL.INI:
Archivo FATSCOL.INI:
Se requiere editar el script actual de generación de archivo XML, actualizando las secciones de acuerdo al siguiente modelo, en donde se agregaron o fueron modificadas líneas para integrar esta nueva funcionalidad.
Informações | ||
---|---|---|
| ||
En el apartado de [XXX INICIALIZACION] agregar la validación para comprobar si existe el nuevo campo B1_CODMAN : (PRE) _aTotal[034] := IIF(SB1->(ColumnPos("B1_CODMAN")) > 0, .T., .F.) En el apartado de [SD2 INVOICE], agregar la referencia al nuevo campo B1_CODMAN para que cuando exista y no este vacio se genere la nueva tag cbc:IDMandatory: (PREREG) (_aTotal[001] += IIF( _aTotal[034] .And. !Empty(SB1->B1_CODMAN),' <cbc:IDMandatory>'+AllTrim(SB1->B1_CODMAN)+'</cbc:IDMandatory>' + ( chr(13)+chr(10) ),""),.T.) |
Creación de campos en el archivo SX3 - Campos:
Campo | B1_CODMAN |
---|---|
Tipo | C - Caracter |
Tamaño | 3 |
Decimal | 0 |
Picture | @! |
Título | Cód Mandato |
Descripción | Código Mandatorio |
Val Sistema | Vazio() .Or. ValidF3I("S022", M->B1_CODMAN,1,3) |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Help | Indica el código de mandatorio de la tabla S022 - Mandatorios al que pertenece el producto. Para las facturas por mandato es necesario informar este campo para generar las tags idEsquema, mandatorioNumeroIdentificacion, mandatorioNumeroIdentificacionDV y mandatorioTipoIdentificacion |
Creación de consulta COL022 en el archivo SBX - Consultas:
Alias | Tipo | Secuencia | Columna | Descripción | Contenido |
COL022 | 1 | 01 | RE | Mandatorios | F3I |
COL022 | 2 | 01 | 01 | Mandatorios | F812SXB("S022","Codigo") |
COL022 | 5 | 01 | VAR_IXB |
b) Pre-condiciones
Aplicar el parche correspondiente al issueDMICNS-21549
- Validar que las rutinas actualizadas correspondan a las indicadas en la sección Función del punto 01. DATOS GENERALES
- Realizar un respaldo del archivo FATSCOL.INI que se encuentra en la ruta configurada en el parámetro MV_CFDFTS.
- Tener los ajustes necesarios para poder realizar la transmisión de documentos electrónicos: Facturación Electrónica
- En el módulo Facturación(SIGAFAT), ir al menú Actualizaciones | Archivos | Clientes.
- Configurar un Cliente con los valores estandar.
- En el módulo Facturación(SIGAFAT):
- Ir al menú Actualizaciones | Archivos | Definición de Catálogos
- Al entrar a la rutina se creará de forma automatica el nuevo catálogo S022 - Mandatorios como se muestra en la siguiente imágen:
- Ir al menú Actualizaciones | Archivos | Mantenimiento de Catálogos
- Ingresar los datos en el nuevo catálogo
- En el módulo de Facturación(SIGAFAT), ir al menú Actualizaciones | Archivos | Productos
- Configurar para los productos a utilizar el campo Cód Mandato(B1_CODMAN) con un código de mandatorio del nuevo catálogo S022 - Mandatorios.
2.23.2 Ejemplo de utilización
En el módulo Facturación (SIGAFAT):
- Ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
- Incluir una nueva Factura de Venta (NF).
- Informar en el encabezado Cliente configurado previamente.
- Informar en el encabezado el campo Tip Oper.(F2_TIPOPE) con valor igual a "11 - Mandatos".
- Informar en el detalle el o los Productos configurados previamente.
- Grabar la factura.
- Ir al menú Actualizaciones | Facturación | Transmisión Electrónica (MATA486).
- Realizar la transmisión de la Factura de Venta
- Validar que en el SOAP-REQUEST las nuevas etiquetas idEsquema, mandatorioNumeroIdentificacion, mandatorioNumeroIdentificacionDV y mandatorioTipoIdentificacion se muestren correctamente a nivel detalle de factura y que la transmisión sea exitosa.
2.24 Ejecución de Transmisión electrónica por JOB nuevo Schedule
Producto | TOTVS Backoffice | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||||||||
Segmento: | Backoffice | ||||||||||||
Módulo: | SIGAFAT - Facturación | ||||||||||||
Función: |
| ||||||||||||
País: | COL | ||||||||||||
Ticket: | NA | ||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMICNS-21518 |
SITUACIÓN/REQUISITO
Se requiere disponibilizar un JOB, en cual el cliente pueda configurar la trasmisión electrónica de Factura de Venta (NF), Nota de Crédito de Cliente (NCC), Nota de Débito de Cliente (NDC), Documento Soporte (NF), Nota de Ajuste de Crédito (NCP) y Nota de Ajuste de Débito (NDP) conforme a su regla de negocio.
SOLUCIÓN
En la rutina de Documentos Fiscales - Colombia (LOCXCOL):
Dentro de la función LxTraCOL, se agregan validaciones para cuando se realiza la ejecución del JOB, se realice correctamente la transmisión de los documentos electrónicos.
En la rutina de Documentos Electrónicos (MATA486):
Dentro de las funciones Realiza Pre-validación de Datos para Transmisión (M486VLDDOC) y Genera el Log de transmisión electrónica(M486GENLOG), se agrega un parámetro que reciben dichas funciones para saber cuando se esta ejecutando el JOB. Se agregan bifurcaciones para que el proceso se ejecute correctamente al validar los datos de transmisión y generar el log del proceso cuando se esta ejecutando la transmisión electrónica desde JOB.
Se crea la nueva rutina Transmisión Electrónica automática de documentos Colombia(autoCOLNfeTrans), la cual permite la ejecución de la transmisión electrónica de Colombia por medio del nuevo Schedule.
En dicha rutina se manda llamar la función LxTraCOL para cada serie y especie informada en el nuevo grupo de preguntas y que este configurada en la tabla SFP - Control de Formularios.
2.24.1 Configuraciones previas
a) Configuraciones de diccionario:
Tablas Genéricas en el archivo SX5 – Tablas Genéricas:
Crear una nueva tabla genérica con las especies de documentos que son transmitidos:
Tabla | 00 |
Clave | 1E |
Descripción | Especies de documentos Transmisión Electrónica |
Crear nuevos registros en la 00 - 1E Especies de documentos Transmisión Electrónica
CLAVE | Descripción |
---|---|
1 | FACTURA/DOCUMENTO SOPORTE |
2 | NOTA DE CRÉDITO CLIENTE |
3 | NOTA DE DÉBITO CLIENTE |
8 | NOTA DE CRÉDITO AJUSTE |
9 | NOTA DE DÉBITO AJUSTE |
Consulta Estándar en el archivo SXB – Consulta Estándar:
Alias | Tipo | Secuencia | Columna | Descripción | Contenido |
ESPDOC | 1 | 01 | DB | Especie Transm Elect | SX5 |
ESPDOC | 2 | 01 | 01 | Codigo | |
ESPDOC | 4 | 01 | 01 | Codigo | X5_CHAVE |
ESPDOC | 4 | 01 | 02 | Descripcion | X5_DESCRI |
ESPDOC | 5 | 01 | Alltrim(X5_CHAVE) | ||
ESPDOC | 6 | 01 | 1E |
Creación de Preguntas en el archivo SX1 – Archivo de Preguntas:
Grupo: MATA486K
Orden | 01 | 02 |
Pregunta | ¿Tipo de Documento? | ¿Serie? |
Tipo | C | C |
Tamaño | 12 | 50 |
Variable | MV_PAR01 | MV_PAR02 |
Validación | ||
Objeto | R -Rango | R -Rango |
Consulta Estándar | ESPDOC | SERNF |
Contenido | FP_ESPECIE | FP_SERIE |
Informações | ||
---|---|---|
| ||
Código: 014812 |
b) Configuraciones de Schedule:
Totvs custom tabs box | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||
|
c) Log de ejecución:
Al ejecutarse el proceso de transmisión electrónica por medio del Schedule, se generará un Log en la carpeta estándar "system\transmision_auto_log\" con el resumen del proceso como se muestra a continuación:
...
3. PROBLEMAS COMUNES
3.1 Facturas de Venta
...
Tabla SF2- Encabezado Doc. de Salida.
FATSECOL
Campo | F2_PTOEMIS |
Tipo | C |
Tamaño | 7 |
Decimal | 0 |
Formato | 99-9999 |
Título | Period Fact |
Descripción | Periodo de Facturación |
Nivel | 1 |
Utilizado | Si |
Obligatorio | No |
Browse | No |
Opciones | |
When | |
Relación | |
Val. Sistema | Vazio() .Or. (FindFunction("LxVldPeri") .And. LxVldPeri('SF2')) |
Help | Digite el mes y año del periodo de facturación en formato "MM-YYYY. |
...