01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Segmento: | Backoffice | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Módulo: | SIGAFAT - Facturación | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Función: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
País: | Bolivia | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ticket: | NA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMICNS-13772 |
02. SITUACIÓN/REQUISITO
Se solicita la creación de puntos de entrada para poder desarrollar funciones de transmisión y consulta de documentos a proveedores de servicios de factura electrónica diferente de Vulcan.
03. SOLUCIÓN
Se crean los puntos de entrada M486EBOL y M486CBOL.
M486EBOL, punto de entrada para desarrollo de transmisión de documentos.
M486CBOL, punto de entrada para desarrollo de consulta de documentos.
Parámetros
Configurar el parámetro MV_CFDDOCS; Indicar la ruta donde se guardarán los documentos electrónicos.
Configurar el parámetro MV_CFDUSO; Indicar si las facturas electrónicas se utilizaran o no, configurándose con: 0 - No utiliza Fact-E, 1-Utiliza Fact-e.
- Configurar el parámetro MV_CFDANUL; Indicar el directorio donde se grabaran los CFD de notas fiscales canceladas.
Clientes
- Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Archivos > Clientes".
- Incluir un nuevo Cliente que contenga los datos obligatorios y la siguiente información requerida para la Facturación Electrónica:
- NIT (A1_CGC) - Número de Documento de Identidad.
- País (A1_PAIS) - País del cliente.
- Barrio (A1_BAIRRO) - Barrio del cliente.
- Dirección (A1_END) - Dirección del cliente.
- CP (A1_CEP) - Código postal del cliente.
- NIT (A1_CGC) - NIT del cliente.
Control de formularios
- Dentro del módulo de Libros Fiscales (SIGAFIS), acceda a "Actualizaciones > Archivos > Control de formularios".
- Incluir un control de formularios que realiza transmisión online (FP_TPTRANS = '1').
- Incluir un control de formularios que no realiza transmisión online (FP_TPTRANS = '2').
Transmisión en línea.
Factura.
- Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Facturaciones".
- Incluir una nueva Factura de Venta.
- Indicar los datos de encabezado.
- Utilizar un control de formularios que realiza transmisión en línea.
- Guardar la Factura.
- Verificar que sea detonado el punto de entrada M486EBOL.
Nota de crédito/débito.
- Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Generac. de notas de crédito/débito".
- Incluir una nueva Nota de crédito.
- Indicar los datos de encabezado.
- Utilizar un control de formularios que realiza transmisión en línea.
- Guardar la Factura.
- Verificar que sea detonado el punto de entrada M486EBOL.
- Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Generac. de notas de crédito/débito".
- Incluir una nueva Nota de débito.
- Indicar los datos de encabezado.
- Utilizar un control de formularios que realiza transmisión en línea.
- Guardar la Factura.
- Verificar que sea detonado el punto de entrada M486EBOL.
Transmisión Electrónica
*Utilizada para realizar la transmisión de documentos que utilizaron control de formularios que no realiza transmisión online.
- Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Facturación > Transmisión Electrónica ".
- Indicar los parámetros:
- ¿Tipo de Documento? - Tipo de Documentos que se desean visualizar en el browser (Factura / Nota de Crédito / Nota de débito).
- ¿Serie? - Serie de los Documentos que se desean visualizar en el browser.
- ¿Estatus? - Estatus de los Documentos que se desean visualizar en el browser (1-No transmitido ,2-Recibido, 3-Esperando Procesamiento, 4-Documento Rechazado, 5-Documento Autorizado, 6-Anulación Rechazada, 7-Anulación pendiente de confirmar, 8-Anulación confirmada).
- ¿Fecha Inicial? - Fecha Inicial de los Documentos que se desean visualizar en el browser.
- ¿Fecha Final? - Fecha Final de los Documento que se desean visualizar en el browser.
Nota:
Asignar estatus = "0", para mostrar todos los documentos sin importar el estatus.
Transmisión
El proceso consiste en la recepción del documento fiscal por parte del SIN (Servicio de Impuestos Nacionales)
- De clic en "Transmitir".
- Indicar los parámetros:
- ¿Serie del documento? - Serie del o los Documento(s) que se desean transmitir.
- ¿Documento Inicial? - Fecha Inicial de o los Documento(s) que se desean transmitir.
- ¿Documento Final? - Fecha Final de o los Documento(s) que se desean transmitir.
- Confirmar la transmisión.
- Se realiza la transmisión.
- Se visualiza el LOG de la transmisión realizada.
El documento cambia su estatus a "Recibido" - Se realiza la Transmisión exitosa.
Si hay errores en la transmisión, estos serán informados en el LOG:
- De clic en "Transmitir".
Monitor
Permite consultar documentos con estatus pendiente.
- De clic en "Monitor".
- Indicar los parámetros:
- ¿Serie del documento? - Serie del o los Documento(s) que se desean consultar.
- ¿Documento Inicial? - Documento Inicial del rango que se desea consultar.
- ¿Documento Final? - Documento Final que se desea consultar.
- Confirmar la consulta.
- Se realiza la consulta.
- Se muestra una ventana con los documentos consultados y mostrados el estatus actual.
- Si hubo cambios de estatus los documento son actualizados.
- De clic en "Monitor".
//Ejemplo de uso de punto de entrada M486EBOL User Function M486EBOL() Local aFact := PARAMIXIB[1] //aFact[n,1] Serie //aFact[n,2] Numero de Documento //aFact[n,3] Cliente //aFact[n,4] Loja //aFact[n,5] Fecha Emision //aFact[n,6] Filial Local cEspecie := PARAMIXIB[2] Local aError := {} Local aTrans := {} Local aRet := {} Local nI := 0 //Proceso personalizado de transmisión. For nI := 1 To Len(aFact) If //Transmisión correcta. aAdd(aTrans, { aFact[nI,6], //Filial aFact[nI,1], //Serie aFact[nI,2], //Factura aFact[nI,3], //Cliente aFact[nI,4], //Loja "", //Valor ser guardado en F1/F2_UUID "", //Valor a ser guardado en F1/F2_FLFTEX "", //Valor a ser guardado en F1/F2_NUMAUT CTOD("28/02/22"), //Valor a ser guardado en F1/F2_FECTIMB ""}) //Valor a ser guardado en F1/F2_HORATRM aAdd(aError, { aFact[nI,1], //Serie aFact[nI,2], //Factura aFact[nI,3], //Cliente aFact[nI,4], //Loja ""}) //Mensaje de transmisión correcta Else // aAdd(aError, { aFact[nI,1], //Serie aFact[nI,2], //Factura aFact[nI,3], //Cliente aFact[nI,4], //Loja ""}) //Mensaje de error EndIf Next Aadd(aRet, aError) Aadd(aRet, aTrans) Return aRet
//Ejemplo de uso de punto de entrada M486CBOL User Function M486CBOL() Local aDocs := PARAMIXIB[1] //aDocs[n,1] F1/F2_FILIAL //aDocs[n,2] F1/F2_SERIE //aDocs[n,3] F1/F2_DOC //aDocs[n,4] F1_FORNECE/F2_CLIENTE //aDocs[n,5] F1/F2_LOJA //aDocs[n,6] F1/F2_UUID //aDocs[n,7] F1/F2_FLFTEX //aDocs[n,8] F1/F2_UUIDC //aDocs[n,9] F1/F2_NUMAUT //aDocs[n,10] F1/F2_CODMOTC //aDocs[n,11] F1_TIPNOTA/F2_TPDOC Local cEspecie := PARAMIXIB[2] Local aItems := {} Local aRetObs := {} Local aTrans := {} Local aRet := {} //Proceso personalizado de consulta. For nI := 1 To Len(aDocs) If //Transmisión correcta. aAdd(aTrans, { aDocs[nI,1], //Filial aDocs[nI,2], //Serie aDocs[nI,3], //Factura aDocs[nI,4], //Cliente aDocs[nI,5], //Loja "", //Valor ser guardado en F1/F2_UUID "", //Valor a ser guardado en F1/F2_FLFTEX "", //Valor a ser guardado en F1/F2_NUMAUT CTOD("28/02/22"), //Valor a ser guardado en F1/F2_FECTIMB ""}) //Valor a ser guardado en F1/F2_HORATRM EndIf aAdd(aItems, { val("6"),; //Valor a ser guardado en F1/F2_NUMAUT en formato númerico Alltrim(aDocs[nX,2]) + "-" + aDocs[nX,3],; //Documento + serie. "",; dDataBase,; //Fecha de consulta. "Información",; //Resultado de la consulta Ejemplo: "Aceptado"/"Rechazado" "",; "", ; aDocs[nX,3], ; //Documento aDocs[nX,2], ; //Serie aDocs[nX,4], ; //Cliente aDocs[nX,5], ; //Loja AllTrim(aDocs[nX,9])}) //Valor a ser guardado en F1/F2_NUMAUT aAdd(aRetObs, { aDocs[nI,2], //Serie aDocs[nI,3], //Factura aDocs[nI,4], //Cliente aDocs[nI,5], //Loja ""}) //Observación Next Aadd(aRet, aItems) Aadd(aRet, aRetObs) Aadd(aRet, aTrans) Return aRet
04. INFORMACIÓN ADICIONAL
NA
Importante.
Esta funcionalidad será habilitada cuando el proveedor de servicios de factura electrónica no sea Vulcan (MV_PROVFE no contiene "Vulcan").
05. ASUNTOS RELACIONADOS
NA