Histórico da Página
...
Línea de Producto: | Microsiga Protheus | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Segmento: | Servicios - Mercado Internacional | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Módulo: | SIGAFAT - Facturación | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rutina: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Requisito/Story/Issue: | DMINA-4575 | DMINA-5822 | DMINA-6684 | DMINA-7000 | DMINA-5746 | DMINA-6311 | DMINA-5270 (v 12.1.14) | DMINA-6130 (v 11.8) | DMINA-7936 | DMINA-9249 | DMINA-451(V 12.1.14) | DMINA-3377 | DMINA-376 (v 12.1.14) | DMINA-3377 | DMINA-3376 | DMINA-3653 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Base(s) de Datos: | Todas. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sistema(s) operativo(s): | Todos. |
...
NOTA: Si al transmitir el Comunicado de Baja se recibe respuesta de en espera de procesamiento, el estatus del documento quedará como En espera de procesamiento - comunicado baja (F1/F2_FLFTEX igual a 7), se deberá de realizar de nuevo el proceso de comunicado de baja para recibir la respuesta del procesamiento del documento y en caso de estar autorizado por la SUNAT, se realizará en automático la anulación del documento en Protheus.
b) Actualización de URL para transmisión de documentos
Se requiere realizar cambios necesarios en la rutina Documento Electrónicos (MATA486) con el Operador de Servicios Electrónicos (OSE) denominado RSM, de acuerdo a lo siguiente:
- Usar la nueva URL, es la misma para el entorno de pruebas y producción, la diferencia de entornos ahora la define el token utilizado https://apis.dmsfact.com/
- La URL para enviar "transmitir" cualquier tipo de documentos https://apis.dmsfact.com/documents/sendDocument
- La URL para consultar el documento
- Por identificador del documento GET https://apis.dmsfact.com/getDocument/{documentId}
- Buscando por los parámetros del documento POST https://apis.dmsfact.com/getDocument
Informações |
---|
Este cambio fue atendido en el issue DMINA-21605 |
Nota: Las actualizaciones presentadas a continuación son compatibles con versiones mayor o igual a 12.1.2210
1. Se recomienda realizar un respaldo del repositorio de objetos (RPO) antes de aplicar el paquete de actualización (patch).
2. Aplicar el paquete de actualización (patch), el cual contiene las siguientes rutinas:
Rutina | Nombre Técnico | Fecha |
---|---|---|
MATA486 | Transmisión Electrónica |
Aviso | ||
---|---|---|
| ||
Este archivo token.txt debe contener el token, dicho token deberá solicitarse al Operador de Servicios Electrónicos (OSE) denominado RSM. |
Procedimiento de Utilización
Acceda a la rutina de Transmisión Electrónica (Actualizaciones | Facturación | Transmisión Electrónica - MATA486) .
- En los parámetros de la rutina especifique en Tipo de Documento: Factura.
- Indique los parámetros para filtrado de facturas a visualizar:
- Serie: Serie de facturas a incluir
- Documento Inicial: Número de facturas inicial a incluir
- Documento Final: Número de facturas final a incluir
- Motivo: Descripción del motivo de cancelación
Importante: Este texto se informará en todos los comunicados de baja que se procesen. - Se mostrará una ventana de Comunicado de baja en donde podrá seleccionar los documentos que desea cancelar.
- Haga doble clic en el cuadro de selección del documento que ingresó anteriormente.
- Haga clic en el botón Confirmar, en este paso se realiza la transmisión del Comunicado de Baja hacía RSM, y si el documento fue autorizado por la SUNAT en automático se realizará la anulación del documento en Protheus, dejando activos los registros del documento en la tabla Libros Fiscales (SF3).
2.4 Documentos electrónicos UBL 2.1 con TCI
...
Producto | TOTVS Backoffice | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | |||||||||
Segmento: | Backoffice | |||||||||
Módulo: | SIGAFAT - Facturación | |||||||||
Función: |
| |||||||||
País: | Perú | |||||||||
Ticket: | 15196360 | |||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-17061 |
...
Descripción: | M486PENF.- Generación personalizada de XML de Factura Electrónica | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir. | ||||||||
Programa Fuente: | MATA486.PRW | ||||||||
Función: | M486SENDDOC | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486PENC.- Generación personalizada de XML de Nota de Crédito | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir. | ||||||||
Programa Fuente: | MATA486.PRW | ||||||||
Función: | M486SENDDOC | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486PEND.- Generación personalizada de XML de Nota de Débito | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir. | ||||||||
Programa Fuente: | MATA486.PRW | ||||||||
Función: | M486SENDDOC | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486PECR.- Generación personalizada de XML de Comprobante de Retención | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir. | ||||||||
Programa Fuente: | MATA486.PRW | ||||||||
Función: | M486SENDDOC | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486NF.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta | ||||||||
Ubicación: | Actual/ Faturamento/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | M486XMLNF | ||||||||
Función: | fGenXMLNF | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486NCC.- Adicionar información que no es obligatoria para la SUNAT para el documento Nota de Crédito | ||||||||
Ubicación: | Actual/ Faturamento/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | M486NCCXML | ||||||||
Función: | fGenXMLNCC | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486NDC.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta Exportación | ||||||||
Ubicación: | Actual/ Faturamento/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | M486NDCXML | ||||||||
Función: | fGenXMLNDC | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486NFE.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta Exportación | ||||||||
Ubicación: | Actual/ Faturamento/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | M486XMLNF | ||||||||
Función: | fGenXMLNF | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486FECVEN.- Generar el nodo cbc:DueDate de acuerdo a la definición de la SUNAT para el documento Factura de Venta. | ||||||||
Ubicación: | Actual/ Faturamento/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | M486FECVEN | ||||||||
Función: | fGenXMLNF | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486PEREF .- definir la regla de negocio que aplicará para la generación del nodo cac:BillingReference en las Notas de Crédito de Cliente cuando el documentos origen no existe en Protheus. | ||||||||
Ubicación: | Actual/ Faturamento/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | M486PEREF | ||||||||
Función: | fGenXMLNF | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M485NCC.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Nota de Crédito. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir. | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M485NDC.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Nota de Débito. | ||||||||
Ubicación: | Actualizaciones / Facturación/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M485NF.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Factura Electrónica y Boleta de Venta. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M485NFE.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Factura Electrónica Exportación. | ||||||||
Ubicación: | Actualizaciones / Facturación/Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | NFAEXmlPER | ||||||||
Respuesta: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Descripción: | M486DIRREC.- Generación personalizada de Nodos correspondientes a la Dirección del adquiriente o usuario en XML. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir. | ||||||||
Programa Fuente: | MATA486.PRW | ||||||||
Función: | M486XMLREC | ||||||||
Respuesta: |
|
El Punto de Entrada M486DIRREC 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.
...
Descripción: | M486RNF .- Permite realizar ajustes al XML de Guía de Remisión Electrónica. | ||||||||
Ubicación: | Actualizaciones / Facturación/ Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | NFAEXMLPER.PRW | ||||||||
Función: | fGenXMLRNF | ||||||||
Respuesta: |
|
Bloco de código | ||
---|---|---|
| ||
#include "protheus.ch" User Function M486RNF() Local cXMLPE := "" Local cCRLF := (chr(13)+chr(10)) Local cOpc := PARAMIXB[1] //Opción N - Notas, P - Pallets/Contenedor/Precinto Local cCodDoc := IIf(cOpc=="R",PARAMIXB[2],"") //cbc:DocumentTypeCode Local cDesTpD := "" Local cTpDocC := "4" Local cNumIdC := "A43594617" Local cNomCom := "Razon Social Comprador" If cOpc == "N" //Observaciones cXMLPE += ' <cbc:Note>Prueba del PE M486RNF</cbc:Note>' + cCRLF ElseIf cOpc == "P" //número de Pallets If Alltrim(SF2->F2_MODTRAD) == "01" //Importación cXMLPE += ' <cbc:TotalTransportHandlingUnitQuantity>80</cbc:TotalTransportHandlingUnitQuantity>' + cCRLF EndIf ElseIf cOpc == "S" //Shipment cXMLPE += ' <cbc:HandlingInstructions>DESCRIPCION DEL MOTIVO DE TRASLADO</cbc:HandlingInstructions>' + cCRLF ElseIf cOpc == "DA" //Establecimiento cXMLPE += ' <cbc:AddressTypeCode listAgencyName="PE:SUNAT" listName="Establecimientos anexos" listID="20552174918">3985</cbc:AddressTypeCode>' + cCRLF ElseIf cOpc == "CO" //Número de Contenedor y Número de Precinto cXMLPE += ' <cac:Package>' + cCRLF cXMLPE += ' <cbc:ID>hlxu2142141</cbc:ID>' + cCRLF cXMLPE += ' <cbc:TraceID>002jp00124</cbc:TraceID>' + cCRLF cXMLPE += ' </cac:Package>' + cCRLF ElseIf cOpc == "R" //AdditionalDocumentReference If cCodDoc == "01" cDesTpD := "FACTURA" ElseIf cCodDoc == "50" cDesTpD := EncodeUtf8("Declaración Aduanera de Mercancías") EndIf cXMLPE += ' <cbc:DocumentType>' + cDesTpD + '</cbc:DocumentType>' + cCRLF ElseIf cOpc == "PU" //MTC cXMLPE += ' <cbc:CompanyID>0200310CNG</cbc:CompanyID>' + cCRLF ElseIf cOpc == "CP" //Datos del Comprado / Datos del Proveedor //DATOS DEL COMPRADOR If SF2->F2_MODTRAD == "03" //Motivo de Traslado 03 - Venta con entrega a terceros cXMLPE := space(4) + '<cac:BuyerCustomerParty>' + cCRLF cXMLPE += space(9) + '<cac:Party>' + cCRLF cXMLPE += space(14) + '<cac:PartyIdentification>' + cCRLF cXMLPE += space(19) + '<cbc:ID schemeID="' + cTpDocC + '" schemeName="Documento de Identidad" schemeAgencyName="PE:SUNAT" schemeURI="urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo06">' + cNumIdC + '</cbc:ID>' + cCRLF cXMLPE += space(14) + '</cac:PartyIdentification>' + cCRLF cXMLPE += space(14) + '<cac:PartyLegalEntity>' + cCRLF cXMLPE += space(19) + '<cbc:RegistrationName>' + cNomCom + '</cbc:RegistrationName>' + cCRLF cXMLPE += space(14) + '</cac:PartyLegalEntity>' + cCRLF cXMLPE += space(9) + '</cac:Party>' + cCRLF cXMLPE += space(4) + '</cac:BuyerCustomerParty>' + cCRLF EndIf EndIf Return cXMLPE |
Informações | |||||
---|---|---|---|---|---|
| |||||
|
...
Descripción: | M486DETRNF .- Permite modificar los datos de Unidad de medida del bien (/DespatchAdvice/cac:DespatchLine/cbc:DeliveredQuantity@unitCode), Cantidad del bien (/DespatchAdvice/cac:DespatchLine/cbc:DeliveredQuantity), Descripción detallada del bien (/DespatchAdvice/cac:DespatchLine/cac:Item/cbc:Description) y Código del bien (/DespatchAdvice/cac:DespatchLine/cac:Item/cac:SellersItemIdentification/cbc:ID) de las Guías de Remisión Electrónicas. | ||||||||
Ubicación: | Actualizaciones / Facturación/ Transmisión Electrónica | ||||||||
Eventos: | Transmitir | ||||||||
Programa Fuente: | M486RNFXML.PRW | ||||||||
Función: | M486XMLTRA | ||||||||
Respuesta: |
|
Bloco de código | ||
---|---|---|
| ||
#include "protheus.ch" User Function M486DETRNF() Local cFilDoc := PARAMIXB[1] //Filial Local cNumDoc := PARAMIXB[2] //Número de Documento Local cSerDoc := PARAMIXB[3] //Serie de Documento Local cEspDoc := PARAMIXB[4] //Especie de Documento Local cCodCli := PARAMIXB[5] //Codigo de Cliente Local cCodLoj := PARAMIXB[6] //Codigo de la Tienda Local cItem := PARAMIXB[7] //Ítem Local cCodPro := PARAMIXB[8] //Código de Producto Local aDetGRE := {Nil, Nil, Nil, Nil} aDetGRE[1] := 50 //Cantidad aDetGRE[2] := "PC" //Unidad de Medida aDetGRE[3] := Nil //Descripción del Producto aDetGRE[4] := Nil //Código del Producto Return aDetGRE |
...