Á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écnicoFecha
M486XFUNFunciones genéricas de FE de país Perú.25/11/2021
País:Perú
Ticket:12373621
Requisito/Story/Issue (informe el requisito vinculado):DMINA-13977


02. SITUACIÓN/REQUISITO

En la rutina de Documentos Electrónicos (MATA486), al momento de realizar la generación del archivo XML para las Facturas de Venta (NF), Notas de Crédito de Cliente (NCC) y Notas de Débito de Cliente (NDC), el usuario requiere incluir el nodo <cac:RegistrationAddress> con sus respectivos subnodos, que corresponden a la información de la dirección del Adquiriente o Usuario (Receptor/Cliente).

03. SOLUCIÓN

En la rutina Funciones genéricas de FE de país Perú (M486XFUN) se activa el Punto de Entrada M486DIRREC para permitir que el usuario realice la inclusión del nodo <cac:RegistrationAddress> con los nodos con la información correspondiente a la dirección del adquiriente dentro del nodo cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity.


Importante

Para el uso del Punto de Entrada se tiene disponibilidad a los datos de la Tabla de Clientes (SA1) y el Punto de Entrada aplica para Facturas de Venta, Boletas de Venta, Nota de Débito del Cliente y Nota de Crédito de Cliente.

  1. Realizar un respaldo del repositorio del ambiente (archivo .rpo).
  2. Aplicar el parche generado para la issue DMINA-13977.
  3. En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
    • Contar con una Factura de Venta (NF) registrada.
  1. En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Facturación | Documentos Electrónicos (MATA486).
  2. Informar los parámetros:
    • ¿Tipo de Documento? = Factura 
    • ¿Serie? = <Serie de la Factura de Venta>
  3. Ejecutar la acción Transmitir.
  4. Informar los parámetros:
    • ¿Serie de Factura? = <Serie de la Factura>
    • ¿Factura Inicial? = <Folio de la Factura creada previamente>
    • ¿Factura Final? = <Folio de la Factura creada previamente>
  5. Validar que el proceso de transmisión electrónica haya sido exitoso.
  6. Validar que el nodo cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity contenga los nodos configurados en el Punto de Entrada M486DIRREC.


04. INFORMACIÓN ADICIONAL

El Punto de Entrada M486DIRREC recibe 2 parámetros, que es el código del cliente y el código de la tienda, debe retornar una cadena que contenga todos los nodos que el usuario desee incluir para el nodo cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity correspondientes a la información de la Dirección de adquiriente.

Ejemplo de Punto de Entrada M486DIRREC
User Function M486DIRREC()
    Local aArea     := GetArea()         // Se reserva el área de trabajo 
    Local cXML      := ""                // Cadena de retorno
    Local cCRLF     := (chr(13)+chr(10)) // Salto de línea
    
    cXML += '				<cac:RegistrationAddress>'+ cCRLF
    cXML += '					<cbc:ID schemeName="Ubigeos">' + RTRIM(SA1->A1_CEP) + '</cbc:ID>' + cCRLF
    cXML += '					<cbc:AddressTypeCode listName="Establecimientos anexos">0000</cbc:AddressTypeCode>'+ cCRLF
    cXML += '				   	<cbc:CitySubdivisionName>-</cbc:CitySubdivisionName>'+ cCRLF
    cXML += '            		<cbc:CityName><![CDATA[' + RTRIM(SA1->A1_MUN) + ']]></cbc:CityName>'+ cCRLF
    cXML += '              		<cbc:CountrySubentity><![CDATA[' + RTRIM(M486VALSX5("12",SA1->A1_EST)) + ']]></cbc:CountrySubentity>'+ cCRLF
    cXML += '               		<cbc:District><![CDATA[' + RTRIM(SA1->A1_BAIRRO) + ']]></cbc:District>'+ cCRLF
    cXML += '            		<cac:AddressLine>'+ cCRLF
    cXML += '                		<cbc:Line><![CDATA[' + RTRIM(SA1->A1_END) + ']]></cbc:Line>'+ cCRLF
    cXML += '              		</cac:AddressLine>'+ cCRLF
    cXML += '               		<cac:Country>'+ cCRLF
    cXML += '                		<cbc:IdentificationCode listName="Country">PE</cbc:IdentificationCode>'+ cCRLF
    cXML += '					</cac:Country>'+ cCRLF
    cXML += '          		</cac:RegistrationAddress>' + cCRLF

    RestArea(aArea)
Return cXML


¡IMPORTANTE!

La presente solución aplica para versión 12.1.17 o superior, siempre y cuando se tengan las rutinas actualizadas a la fecha indicada en la sección 01 - Datos Generales, y tener activa la funcionalidad de Facturación Electrónica para el país Perú.


05. ASUNTOS RELACIONADOS

  • Documento Técnico de Facturación Electrónica UBL 2.1 Perú