Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Facturación
Función:
RutinaNombre Técnico
LOCXGEN.PRWFunciones genéricas para documentos fiscales.
LOCXFUNA.PRXFunciones genéricas para documentos fiscales.
LOCXARG.PRWFunciones genéricas para documentos fiscales Argentina.
LOCXBOL.PRWFunciones genéricas para documentos fiscales Bolivia.
LOCXCOL.PRWFunciones genéricas para documentos fiscales Colombia.
LOCXDOM.PRWFunciones genéricas para documentos fiscales República Dominicana.
LOCXEQU.PRWFunciones genéricas para documentos fiscales Ecuador.
LOCXEUA.PRWFunciones genéricas para documentos fiscales Estados Unidos.
LOCXMEX.PRWFunciones genéricas para documentos fiscales México.
LOCXNF.PRWDocumentos fiscales.
LOCXNF2.PRWFunciones genéricas para documentos fiscales.
LOCXPER.PRWFunciones genéricas para documentos fiscales Perú.
MATA942.PRWEstado Vs. Ing. Brutos (CCO).
MATA468N.prxGeneración de facturas automáticas.
FATXFUMI.PRWFunciones genéricas para documentos fiscales.
FATXFUN.PRXFunciones genéricas para documentos fiscales.
FISA103.PRWFunciones genéricas para documentos fiscales.
FISA104.PRWFunciones genéricas para documentos fiscales.
FISA105.PRWFunciones genéricas para documentos fiscales.
FISA108.PRWFunciones genéricas para documentos fiscales.
FISA109.PRWFunciones genéricas para documentos fiscales.
FISA110.PRWFunciones genéricas para documentos fiscales.
FISA813.PRWMantenimiento de catálogos.
FISA814.prwInformaciones de catálogos.
MATA486.prwTransmisión de documento electrónicos.
M486XFUNBO.prwFunciones complementarias para Bolivia de documentos electrónicos.
MATA992.prwControl de formularios.
SIGACUS.PRWFunciones genéricas para documentos fiscales.
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

  1. Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Archivos > Clientes".
  2. 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

  1. Dentro del módulo de Libros Fiscales (SIGAFIS), acceda a "Actualizaciones > Archivos > Control de formularios".
  2. Incluir un control de formularios que realiza transmisión online (FP_TPTRANS = '1').
  3. Incluir un control de formularios que no realiza transmisión online (FP_TPTRANS = '2').

Transmisión en línea.

Factura.

  1. Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Facturaciones".
  2. Incluir una nueva Factura de Venta.
  3. Indicar los datos de encabezado.
  4. Utilizar un control de formularios que realiza transmisión en línea.
  5. Guardar la Factura.
  6. Verificar que sea detonado el punto de entrada M486EBOL.

Nota de crédito/débito.

  1. Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Generac. de notas de crédito/débito".
  2. Incluir una nueva Nota de crédito.
  3. Indicar los datos de encabezado.
  4. Utilizar un control de formularios que realiza transmisión en línea.
  5. Guardar la Factura.
  6. Verificar que sea detonado el punto de entrada M486EBOL.
  1. Dentro del módulo de Facturación (SIGAFAT) acceda a "Actualizaciones > Facturación > Generac. de notas de crédito/débito".
  2. Incluir una nueva Nota de débito.
  3. Indicar los datos de encabezado.
  4. Utilizar un control de formularios que realiza transmisión en línea.
  5. Guardar la Factura.
  6. 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.

  1. Dentro del módulo de Facturación (SIGAFAT), acceda a "Actualizaciones > Facturación > Transmisión Electrónica ".
  2. 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) 

    1. De clic en "Transmitir".
    2. Indicar los parámetros:
      1. ¿Serie del documento? - Serie del o los Documento(s) que se desean transmitir.
      2. ¿Documento Inicial? - Fecha Inicial de o los Documento(s) que se desean transmitir.
      3. ¿Documento Final? - Fecha Final de o los Documento(s) que se desean transmitir.
    3. Confirmar la transmisión.
    4. Se realiza la transmisión. 
    5. Se visualiza el LOG de la transmisión realizada.
      El documento cambia su estatus a "Recibido"
    6. Se realiza la Transmisión exitosa.
      Si hay errores en la transmisión, estos serán informados en el LOG:

Monitor

Permite consultar documentos con estatus pendiente.

    1. De clic en "Monitor".
    2. Indicar los parámetros:
      1. ¿Serie del documento? - Serie del o los Documento(s) que se desean consultar.
      2. ¿Documento Inicial? - Documento Inicial del rango que se desea consultar.
      3. ¿Documento Final? - Documento Final que se desea consultar.
    3. Confirmar la consulta.
    4. Se realiza la consulta. 
    5. Se muestra una ventana con los documentos consultados y mostrados el estatus actual.
      1. Si hubo cambios de estatus los documento son actualizados.
//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