Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 

 

Este documento es un material de especificación de los requisitos de innovación. Se trata de un contenido sumamente técnico.      

                                                       

Información General

 

Especificación

Producto

Microsiga Protheus

Módulo

SIGAFAT

Segmento ejecutor

Servicios

Projeto1

Proyecto de Desarrollo_MEX

IRM/EPIC1

 

Requisito/Story/Issue1

 

Subtarea1

SERINN001-1144

Chamado/Ticket2

 

País

(  ) Brasil  (  ) Argentina  (  ) México  (  ) Chile  (  ) Paraguay  (  ) Ecuador

(  ) EEUU  (  ) Colombia   (  ) Otro Perú.

Otros

<Si necesario, informe otras referencias que sean pertinentes a esta especificación. Ejemplo: enlaces de otros documentos o subtareas vinculadas>.

   Leyenda: 1 – Innovación 2 – Mantenimiento (Los demás campos se deben completar en ambos los procesos). 

Objetivo

 

Crear la función M486NFXML  que deberá generar el xml que será trasmitido al TSS para su posterior envío a la SUNAT, además se deberá crear fuente M486XFUN, en cual se crearan funciones necesarias para generación de XML y que servirán para la creación de XML de nota de crédito y nota de débito. Esto aplica para:

  • Factura de venta
  • Boleta de Venta

 

En Protheus la Boleta de Venta se genera de la misma manera que una Factura de Venta. La diferencia entre ambos documentos será el tipo de identificación del receptor de acuerdo al tipo de documento de identidad (A1_TIPDOC) y la Serie2 (F2_SERIE2) del documento. Para Boleta de Venta el documento deberá comenzar con la letra “B”, para Factura de Venta la Serie 2 deberá comenzar con “F”. El receptor de boleta de venta será identificado con A1_TIPDOC diferente a RUC (diferente de Valor 6).

 

Definición de la Regla de Negocio

 

Esta rutina deberá permitir generar una cadena de caracteres que define un XML en el cuál  contendrá los datos correspondientes al documento electrónico solicitado según el esquema UBL2.0.

 

No deberá tener interfaz gráfica de entrada ya que será llamada por la rutina MATA486 desde el menú de módulo de facturación SIGAFAT->Actualizaciones->Facturación->Transmisión Electrónica.

Los parámetros que deberá recibir la función son los siguientes:

  • Filial : Sucursal que emitió el documento.
  • Serie: Número o Serie del Documento.
  • Número de Documento
  • Cliente: Según sea el origen del documento deberá recibir el código del cliente.
  • Tienda: Código de la tienda
  • Especie: Especie del Documento

 

La estructura del XML generado deberá apegarse al estándar UBL 2.0. Una vez obtenidos los datos de la factura, generar el archivo XML en la carpeta 

 

A continuación se detalla la estructura del XML así como su correspondencia en Protheus: 

 

Elemento

TAG UBL

Descripción

Tam

Oblig

Valor

Adicionales

 

 

 

<UBLExtensions>

Contenedor de Componentes de extensión. Podrán incorporarse nuevas definiciones estructuradas cuando sean de interés conjunto para emisores y receptores, y no estén ya definidas en el esquema de la factura

 

x

 

 

<ext:UBLExtension>

Deberá generarse para Información Adicional sobre la factura por conceptos de otros tributos y operaciones

 

 

 

 

<ext:ExtensionContent>

 

 

 

 

 

<sac:AdditionalInformation>

Información Adicional

 

 

 

 

<sac:AdditionalMonetaryTotal>

Generar por cada Concepto contenido en Catálogo No. 14

 

 

Generar al menos por los conceptos: 1001,1002,1003,1004,1005,1000

 

Ver Sección Submontos Adicionales

 

<cbc:ID>

Código Concepto Tributario 

 

 

 

 

<cbc:PayableAmount currencyID="XXX">

Monto del Concepto Tributario

 

 

Dónde XX=POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

Depende del tipo de Operación.

 

<ext:UBLExtension>

 

 

 

Generar sin contenido de la siguiente manera:

<ext:UBLExtension>

<ext:ExtensionContent>

</ext:ExtensionContent>

</ext:UBLExtension>

Identificación del Documento

<cbc:UBLVersionID>

Versión UBL

3

X

Fijo “2.0”

 

<cbc:CustomizationID>

Versión de la estructura del Documento

3

X

Fijo “1.0”

 

<cbc:ID>

Numeración, conformada por serie y número correlativo

Max. 13

X

F2_SERIE2+”-“+F2_DOC  en Formato: F###-NNNNNNNN

 

Ejemplo:

FX01-12

F001-1022

 

<cbc:IssueDate>

Fecha de Emisión

10

X

F2_EMISSAO Formato YYYY-MM-DD

 

<cbc:DocumentCurrencyCode>

Tipo de moneda en la cual se emite la factura electrónica. Catálogo 02

3

x

POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

Otros documentos Adicionales

<cac:AdditionalDocumentReference>

 

Referencia a cualquier otro documento, distintos a los señalados en el numeral anterior, asociado a la factura. Podrán especificarse documentos como comprobantes de retención, percepción, código SCOP, etc. Puede existir documentos de distintos tipos asociados a una misma factura, por lo que el número de elementos de este tipo es ilimitado.

 

 

Generar si y solo si existe alguna referencia a estos documentos.

<cbc:ID>

Número de Documento

 

 

Número de documento

<cbc:DocumentTypeCode>

 

Se utilizará el Catálogo No. 12: “Códigos - Documentos Relacionados Tributarios”.

 

 

Este elemento es opcional.

Colocar dependiendo del tipo de Documento. Catálogo No. 12

Firma Electrónica

<cac:Signature>

Referencia a la Firma Digital

 

 

 

<cbc:ID>

Identificador de la firma

 

 

Fijo “IDSignTOTVS”

<cac:SignatoryParty>

         <cac:PartyIdentification>

            <cbc:ID>

Identificación de la parte firmante

13

 

SM0->M0_CGC

<cac:SignatoryParty>

         <cac:PartyName>

            <cbc:Name>

Nombre de la parte firmante

 

 

 

SM0->M0_NOME

<cac:DigitalSignatureAttachment>

         <cac:ExternalReference>

            <cbc:URI>

Asociación con la firma codificada

 

 

 

Colocar fijo “#SignatureTOTVS”

Información del Emisor

<cac:AccountingSupplierParty>

Documentación Emisor

 

x

 

    <cbc:CustomerAssignedAccountID>

RUC del Emisor

 

11

x

SM0->M0_CGC

<cbc:AdditionalAccountID>

Tipo de documento de identificación. Catálogo No. 6 

1

x

Fijo ‘6’

<cac:Party>

Razón social y Domicilio fiscal del Emisor

 

x

 

         <cac:PartyName>

Nombre de la Empresa

 

X

 

            <cbc:Name>

Nombre commercial

Max 100

x

M0_NOMECOM

<cac:PostalAddress>

Domicilio Fiscal

 

X

 

<cbc:ID>

Código Postal.  Catálogo No. 13

6

X

M0_CEP homologado con ubígeos

<cbc:StreetName>

Dirección Completa y detallada

Max 100

X

M0_ENDENT

<cbc:CityName>

Provincia

Max 30

X

M0_CIDENT

<cbc:District>

Distrito

Max 30

X

M0_BAIRENT

<cac:Country>

Datos Pais

 

X

 

<cbc:IdentificationCode>

Código de Identificación del País. Catálogo No. 04

2

X

Fijo “PE”

<cac:PartyLegalEntity>

Razón Social

 

 

 

<cbc:RegistrationName>

Apellidos y nombres, denominación o razón social

Max 100

X

M0_NOME

Información del Receptor

<cac:AccountingCustomerParty>

Datos del Adquirente o Usuario

 

 

x

 

<cbc:CustomerAssignedAccountID>

RUC

11

X

A1_CGC

<cbc:AdditionalAccountID>

Tipo de documento de identificación. Catálogo No. 6 

2

X

POSICIONE("SX5",1,XFILIAL("SX5")+”XN”+A1_TIPDOC,"X5_DESCSPA")

<cac:Party>

Razón social y Domicilio fiscal del Receptor

 

X

 

<cac:PostalAddress>

Domicilio Fiscal

 

X

 

<cbc:ID>

Código Postal.  Catálogo No. 13

6

X

A1_CEP homologado con ubígeos

<cbc:StreetName>

Dirección Completa y detallada

Max 100

X

A1_END

<cbc:CityName>

Provincia

Max 30

X

A1_MUN

<cbc:District>

Distrito

Max 30

X

A1_BAIRRO

<cac:Country>

Datos Pais

 

X

 

<cbc:IdentificationCode>

Código de Identificación del País. Catálogo No. 04

2

X

Obtener de SYA->YA_CODERP por medio de A1_PAIS

<cac:PartyLegalEntity>

Razón Social

 

 

 

<cbc:RegistrationName>

Apellidos y nombres, denominación o razón social

 

Max 100

X

A1_NOME

Impuestos

<cac:TaxTotal>

Impuestos Globales

 

X

Genenrar por cada Tipo de Impuesto que contenga la Factura.

<cbc:TaxAmount currencyID=”XX”>

Monto total del Impuesto

 

X

Dónde XX=POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

El valor de TaxAmount = Sumatoria del valor del Impuesto de la factura.

<cac:TaxSubtotal>

Subtotal Impuestos

 

X

 

<cbc:TaxAmount currencyID=”XX”>

Monto total del Impuesto

 

X

Dónde XX=POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

El valor de TaxAmount = Sumatoria del valor del Impuesto de la factura.

<cac:TaxCategory>

Categoría del Impuesto

 

X

 

<cac:TaxScheme>

 

 

X

 

<cbc:ID>

Código del Impuesto. Catálogo No. 05

4

X

Obtener del impuesto el campo FB_CODIMP

<cbc:Name>

Nombre del Impuesto. Catálogo No. 05

Max 5

X

IGV,ISC,OTROS

<cbc:TaxTypeCode>

Código del Tipo de Tributo (UN/ECE 5153)

 

3

X

Obtener del impuesto el campo FB_CODTAR

Total Factura

<cac:LegalMonetaryTotal>

Totales a pagar de la Factura y Cargos

 

 

X

 

<cbc:AllowanceTotalAmount currencyID="XXX">

Importe total de cargos aplicados al total de la factura

 

 

X

Donde XX = XX=POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

AllowanceTotalAmount = “0.00”

<cbc:PayableAmount currencyID="XXX">

Moneda e Importe total a pagar

 

 

X

Donde XXX =POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

PayableAmount = F2_VALBRUT

Detalle de la Factura

<cac:InvoiceLine>

Debe generarse por cada ítem

 

X

 

 

<cbc:ID>

Número de orden del Ítem

 

 

x

D2_ITEM,  sin ceros a la izquierda.

 

<cbc:InvoicedQuantity unitCode="XXX">

Unidad de medida y cantidad por ítem

 

 

Donde XXX = Posicione("SAH",1,xFilial("SAH")+(cAliasXML)->B1_UM,"AH_COD_CO")           

 

InvoiceQuantity = D2_QUANT

 

<cbc:LineExtensionAmount currencyID="XXX">

Moneda e Importe monetario que es el total de la línea de detalle, incluyendo variaciones de precio (subvenciones, cargos o descuentos) pero sin impuestos.

 

 

 

Donde XXX =POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

 

LineExtensionAmount =D2_PRCVEN + D2_DESCON/D2_QUANT)

 

<cac:PricingReference>

Nodo de Valores Unitarios

 

 

 

 

<cac:AlternativeConditionPrice>

Valor referencial unitario por ítem en operaciones no onerosas y código

 

 

 

 

<cbc:PriceAmount currencyID="XXX">

Monto del valor unitario

 

 

 

Donde XXX =POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

 

PriceAmount currencyID= (D2_TOTAL +D2_DESCON)/nQtdItem) + (nImp/nQtdItem)

 

<cbc:PriceTypeCode>

Código de Tipo de Precio.  Catálogo No. 16

 

 

01 para Precion con IGV.

02  Para cuando el ítem tiene descuento. 

 

<cac:AllowanceCharge>

Descuentos por Item

 

 

 

 

  <cbc:ChargeIndicator>

Indicador de descuento

 

 

Colocar siempre false

 

<cbc:Amount currencyID="XXX">

Monto del descuento del ítem .Se debe especificar la moneda en la que se emite el descuento, para ello se utiliza el atributo currencyID.

 

 

 

Donde XXX =POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

 

:Amount = D2_DESCON

 

<cac:TaxTotal>

Impuestos por Item de la factura

 

 

 

 

<cbc:TaxAmount currencyID="XXX">

Importe total de un tributo para este ítem

 

 

 

Donde XXX =POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

 

D2_VALIMPn

 

<cac:TaxSubtotal>

 

 

 

 

 

<cbc:TaxAmount currencyID="XXX">

Importe total de un tributo para este ítem

 

 

 

Donde XXX =POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

D2_VALIMPn

 

<cac:TaxCategory>

Categoria del impuesto

 

 

 

 

<cbc:TaxExemptionReasonCode>

Tipo de Afectación según catálogo No. 07

 

 

Generar solo si el impuesto es IGV

 

<cbc:TierRange >

Tipo de afectación de ISC

 

 

Generar solo para ISC

 

<cac:TaxScheme>

Tipo de Impuesto

 

 

 

 

<cbc:ID>

Tipo de Impuesto según catálogo No. 05

 

 

FB_CODIMP

 

<cbc:Name>

Nombre del Impuesto

 

 

FB_CODIGO  para IGV e ISC, para otrs impuestos colocar palabra “OTROS”

 

<cbc:TaxTypeCode>

Código del Tipo de Tributo (UN/ECE 5153)

 

 

FB_CODTAR

 

<cac:Item>

Descripcion del  ítem

 

 

 

 

<cbc:Description>

Descripción detallada del bien vendido o cedido en uso, descripción o tipo de servicio prestado por ítem

 

 

 

B1_DESC

 

<cac:SellersItemIdentification>

Identificaicón interna del producto

 

 

 

 

<cbc:ID>

Código del producto de acuerdo al tipo de codificación interna que se utilice.

 

 

B1_COD

 

<cac:Price>

 

 

 

 

 

<cbc:PriceAmount currencyID="xxx">

Valores de venta unitarios por ítem (VU) no incluye impuestos

 

 

 

Donde XXX =POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA")

D2_PRCVEN

 

 SUBMONTOS ADICIONALES


Según el Catálogo No. 14: Códigos - Otros conceptos tributarios deberán anexarse a cada submonto los concepto si estos existen en la factura o boleta de venta. 

 

 

Estos deberán obtenerse de la siguiente manera:

 

Submonto 1001 Total Valor venta Operaciones Gravadas


 

Si el Tipo de Afectación del IGV del impuesto (FC_TIPOIGV) pertenece a los códigos 10,11,12,13,14,15,16 o 17 según el Catálogo No. 07: Códigos de Tipo de Afectación del IGV entonces el monto de los impuestos de los ítems que tienen estos códigos de afectación deberá reportarse en el subtotal 1001 de la siguiente manera:

<sac:AdditionalMonetaryTotal>

<cbc:ID>1003</cbc:ID>

<cbc:PayableAmount currencyID="XX">Monto operaciones gravadas </cbc:PayableAmount>

</sac:AdditionalMonetaryTotal>

 

Submonto 1002 Total valor de venta Operaciones Inafectadas


Si el Tipo de Afectación del IGV del impuesto (FC_TIPOIGV) pertenecen a los códigos 30,31,32,33,34,35,36 o 40 según el Catálogo No. 07: Códigos de Tipo de Afectación del IGV entonces el monto de los impuestos de los ítems que tienen estos códigos de afectación deberá reportarse en el subtotal 1002 de la siguiente manera:

<sac:AdditionalMonetaryTotal>

<cbc:ID>1003</cbc:ID>

<cbc:PayableAmount currencyID="XX">Monto operaciones Inafectas</cbc:PayableAmount>

</sac:AdditionalMonetaryTotal>

NOTA: En el caso que todas las operaciones (ítems de la factura/boleta de venta) comprendidas en la factura electrónica sean gratuitas (TES se encuentre en parámetro MV_TESEXE), se deberá mostrar la leyenda "TRANSFERENCIA GRATUITA DE UN BIEN Y/O SERVICIO PRESTADO GRATUITAMENTE" de acuerdo a Catálogo No. 15: Códigos - Elementos adicionales en la Factura Electrónica y/o Boleta de Venta Electrónica respecto al código 1002.

 

Submonto 1003 Total valor venta Operaciones Exoneradas


Si el Tipo de Afectación del IGV del impuesto (FC_TIPOIGV) pertenecen a los códigos 20 o 21 según el Catálogo No. 07: Códigos de Tipo de Afectación del IGV entonces el monto de los impuestos de los ítems que tienen estos códigos de afectación deberá reportarse en el subtotal 1003 de la siguiente manera:

<sac:AdditionalMonetaryTotal>

<cbc:ID>1003</cbc:ID>

<cbc:PayableAmount currencyID="XX"> Monto operaciones Exoneradas</cbc:PayableAmount>

</sac:AdditionalMonetaryTotal>

 

Submonto 1004 Total valor de venta Operaciones gratuitas


Si la factura cuenta con ítems cuya TES se encuentre en el parámetro MV_TESEXE, el monto deberá reportarse en el subtotal 1004 de la siguiente manera:

<sac:AdditionalMonetaryTotal>

<cbc:ID>1004</cbc:ID>

<cbc:PayableAmount currencyID="XXX"> Monto total por operaciones gratuitas</cbc:PayableAmount>

</sac:AdditionalMonetaryTotal>

 

Submonto  1005 Sub total de venta


Deberá mostrar importe de valor de la mercaderia (SF2->F2_VALMERC) con dos decimales si espacios.

<sac:AdditionalMonetaryTotal>

<cbc:ID>1005</cbc:ID>

<cbc:PayableAmount currencyID="XXX"> SF2->F2_VALMERC </cbc:PayableAmount>

</sac:AdditionalMonetaryTotal> 

 

Submonto 2001 Percepciones


Por cada ítem del documento, con el Tipo de salida (D2_TES)recorrer los impuestos variables (Tabla SFB) que pertenezcan a la TES y que la clase sea Percepción (FB_CLASSE = 'P'), y obtener el campo de Libro Fiscal (FB_CPOLVRO), mediante este campo buscar en el campo de Valor del Impuesto (F2_VALIMPx) correspondiente en el documento para  obtener el valor de la percepción del documento. Generar elemento de la siguiente manera:

<sac:AdditionalMonetaryTotal>

<cbc:ID>1003</cbc:ID>

<cbc:PayableAmount currencyID="XXX">F2_VALIMPx</cbc:PayableAmount>

</sac:AdditionalMonetaryTotal> 

NOTA: Si el documento no tiene operaciones de percepciones, no deberá generar nodo.

 

Submonto 2002 Retenciones

 

Por cada ítem del documento, con el Tipo de salida (D2_TES) recorrer los impuestos variables (Tabla SFB) que pertenezcan a la TES y que la clase sea Retención (FB_CLASSE = 'R'), y obtener el  campo de Libro Fiscal (FB_CPOLVRO), mediante este campo buscar en el campo Valor del Impuesto (F2_VALIMPx) correspondiente en el documento para  obtener el valor de la retención del documento. Generar elemento de la siguiente manera:

<sac:AdditionalMonetaryTotal>

<cbc:ID>1003</cbc:ID>

<cbc:PayableAmount currencyID="XXX">F2_VALIMPx</cbc:PayableAmount>

</sac:AdditionalMonetaryTotal> 

NOTA: Si el documento no tiene operaciones de retenciones, no deberá generar nodo.


Submonto 2003 Detracciones


<sac:AdditionalMonetaryTotal>

<cbc:ID>2003</cbc:ID>

<cbc:PayableAmount currencyID="XXX"> Monto Detracciones </cbc:PayableAmount>

</sac:AdditionalMonetaryTotal>

 

NOTA: Si el documento no cuenta con detracciones, no generar nodo.

 

Submonto 2005 Total Descuentos

 

Si la factura/boleta de venta tiene valor en el campo Descuentos (F2_DESCONT), deberá generarse el nodo siguiente con el valor de este descuento:

 

<sac:AdditionalMonetaryTotal>

<cbc:ID>2005</cbc:ID>

<cbc:PayableAmount currencyID="XXX">F2_DESCONT</cbc:PayableAmount>

</sac:AdditionalMonetaryTotal>

 

Submonto 1000 Valor Total en letra

 

Se deberá convertir el Valor Bruto de la Factura (F2_VALBRUT) a letra utilizando la función EXTENSO  y deberá reportarse en el nodo 1000 de la siguiente manera:

<sac:AdditionalMonetaryTotal>

<cbc:ID>1000</cbc:ID>

<cbc:value> EXTENSO(F2_VALBRUT)</cbc:value>

</sac:AdditionalMonetaryTotal>

      

Dónde XXX= POSICIONE("SX5",1,XFILIAL("SX5")+”XQ”+F2_MOEDA,"X5_DESCSPA") Para obtener el código de moneda según ISO-3366-1

 

Rutina

Tipo de Operación

Opción de Menú

Reglas de Negocio

MATA486 - Documentos Electrónicos

Involucrada

Actualizaciones|Facturación|Documentos Electronicos

-

M486NFXML – XML de Factura para Transmisión Electrónica

Creación

Actualizaciones|Facturación|Documentos Electronicos

-

 

Ejemplo de aplicación:

  • Crear el campo “% Mínimo Efectivo” (AAA_PERESP), en que el usuario informará el % que el alumno pagará en efectivo (dinero). Ese % podrá modificarse durante la negociación.
  • Crear el campo “Referencia Mínima para Cálculo” (AAA_REFCAL), en que el usuario informará uno de los 4 valores disponibles para pago de las mensualidades  como la referencia mínima para calcular el débito total del alumno.
  • Crear el parámetro MV_ACPARNE, que definirá si la información de “% Mínimo Efectivo” y “Referencia Mínima para Cálculo” será obligatoria.
    • Al detonar la función M486NFXML está retornará XML como a continuación:

    <?xml version="1.0" encoding="UTF-8"?>

    <Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:sac="urn:sunat:names:specification:ubl:peru:schema:xsd:SunatAggregateComponents-1" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">

    <ext:UBLExtensions>

    <ext:UBLExtension>

    <ext:ExtensionContent>

    <sac:AdditionalInformation>

                   <sac:AdditionalMonetaryTotal>

    <cbc:ID>1001</cbc:ID>

    <cbc:PayableAmount currencyID="USD">1144.28</cbc:PayableAmount>

    </sac:AdditionalMonetaryTotal>

    <sac:AdditionalMonetaryTotal>

    <cbc:ID>1002</cbc:ID>

    <cbc:PayableAmount currencyID="USD">0.00</cbc:PayableAmount>

    </sac:AdditionalMonetaryTotal>

    <sac:AdditionalMonetaryTotal>

    <cbc:ID>1003</cbc:ID>

    <cbc:PayableAmount currencyID="USD">0.00</cbc:PayableAmount>

    </sac:AdditionalMonetaryTotal>

    <sac:AdditionalMonetaryTotal>

    <cbc:ID>1004</cbc:ID>

    <cbc:PayableAmount currencyID="USD">0.00</cbc:PayableAmount>

    </sac:AdditionalMonetaryTotal>

    <sac:AdditionalProperty>

    <cbc:ID>1000</cbc:ID>

    <cbc:Value>UN MIL CIENTO CUARENTA Y CUATRO DOLARES AMERICANOS Y VEINTIOCHO CENTAVOS</cbc:Value>

    </sac:AdditionalProperty>

    </sac:AdditionalInformation>

    </ext:ExtensionContent>

    </ext:UBLExtension> 

    <ext:UBLExtension>

    <ext:ExtensionContent>

    </ext:ExtensionContent>

    </ext:UBLExtension>   

    </ext:UBLExtensions>

    <cbc:UBLVersionID>2.0</cbc:UBLVersionID>

    <cbc:CustomizationID>1.0</cbc:CustomizationID>

    <cbc:ID>F001-71</cbc:ID>

    <cbc:IssueDate>2017-03-21</cbc:IssueDate>

    <cbc:InvoiceTypeCode>01</cbc:InvoiceTypeCode>

    <cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>

    <cac:Signature>

    <cbc:ID>IDSignTOTVS</cbc:ID>

    <cac:SignatoryParty>

    <cac:PartyIdentification>

    <cbc:ID>20451558383</cbc:ID>

    </cac:PartyIdentification>

    <cac:PartyName>

    <cbc:Name>FITESA PERU</cbc:Name>

    </cac:PartyName>

    </cac:SignatoryParty>

    <cac:DigitalSignatureAttachment>

    <cac:ExternalReference>

    <cbc:URI>#SignatureTOTVS</cbc:URI>

    </cac:ExternalReference>

    </cac:DigitalSignatureAttachment>

    </cac:Signature>

    <cac:AccountingSupplierParty>

    <cbc:CustomerAssignedAccountID>20451558383</cbc:CustomerAssignedAccountID>

    <cbc:AdditionalAccountID>6</cbc:AdditionalAccountID>

    <cac:Party>

    <cac:PartyName>

    <cbc:Name>FITESA PERU S.A.C.</cbc:Name>

    </cac:PartyName>

    <cac:PostalAddress>

    <cbc:ID>123456</cbc:ID>

    <cbc:StreetName>AV. PRINCIPAL, Nro. 71-PARC. CAJAMARQUILLA</cbc:StreetName>

    <cbc:CityName>LIMA</cbc:CityName>

    <cbc:District>LIMA</cbc:District>

    <cac:Country>

    <cbc:IdentificationCode>PE</cbc:IdentificationCode>

    </cac:Country>

    </cac:PostalAddress>

    <cac:PartyLegalEntity>

    <cbc:RegistrationName>FITESA PERU</cbc:RegistrationName>

    </cac:PartyLegalEntity>

    </cac:Party>

    </cac:AccountingSupplierParty>

    <cac:AccountingCustomerParty>

    <cbc:CustomerAssignedAccountID>20100152941</cbc:CustomerAssignedAccountID>

    <cbc:AdditionalAccountID>6</cbc:AdditionalAccountID>

    <cac:Party>

    <cac:PostalAddress>

    <cbc:ID>11111111</cbc:ID>

    <cbc:StreetName>AV. DEL PINAR NO.180 OF.505 -SURCO- LIMA</cbc:StreetName>

    <cbc:CityName>SURCO</cbc:CityName>

    <cbc:District>SURCO</cbc:District>

    <cac:Country>

    <cbc:IdentificationCode>PE</cbc:IdentificationCode>

    </cac:Country>

    </cac:PostalAddress>

    <cac:PartyLegalEntity>

    <cbc:RegistrationName>KIMBERLY-CLARK PERU S.R.L</cbc:RegistrationName>

    </cac:PartyLegalEntity>

    </cac:Party>

    </cac:AccountingCustomerParty>

    <cac:TaxTotal>

    <cbc:TaxAmount currencyID="USD">205.97</cbc:TaxAmount>

    <cac:TaxSubtotal>

    <cbc:TaxAmount currencyID="USD">205.97</cbc:TaxAmount>

    <cac:TaxCategory>

    <cac:TaxScheme>

    <cbc:ID>1000</cbc:ID>

    <cbc:Name>IGV</cbc:Name>

    <cbc:TaxTypeCode>VAT</cbc:TaxTypeCode>

    </cac:TaxScheme>

    </cac:TaxCategory>

    </cac:TaxSubtotal>

    </cac:TaxTotal>

    <cac:LegalMonetaryTotal>

    <cbc:AllowanceTotalAmount currencyID="USD">0.00</cbc:AllowanceTotalAmount>

    <cbc:PayableAmount currencyID="USD">1144.28</cbc:PayableAmount>

    </cac:LegalMonetaryTotal>

    <cac:InvoiceLine>

    <cbc:ID>1</cbc:ID>

    <cbc:InvoicedQuantity unitCode="MTK">39732.00</cbc:InvoicedQuantity>

    <cbc:LineExtensionAmount currencyID="USD">1144.28</cbc:LineExtensionAmount>

    <cac:PricingReference>

    <cac:AlternativeConditionPrice>

    <cbc:PriceAmount currencyID="USD">0.03</cbc:PriceAmount>

    <cbc:PriceTypeCode>01</cbc:PriceTypeCode>

    </cac:AlternativeConditionPrice>

    </cac:PricingReference>

    <cac:AllowanceCharge>

    <cbc:ChargeIndicator>false</cbc:ChargeIndicator>

    <cbc:Amount currencyID="USD">0.00</cbc:Amount>

    </cac:AllowanceCharge>

    <cac:TaxTotal>

    <cbc:TaxAmount currencyID="USD">205.97</cbc:TaxAmount>

    <cac:TaxSubtotal>

    <cbc:TaxAmount currencyID="USD">205.97</cbc:TaxAmount>

    <cac:TaxCategory>

    <cbc:TaxExemptionReasonCode>10</cbc:TaxExemptionReasonCode>

    <cac:TaxScheme>

    <cbc:ID>1000</cbc:ID>

    <cbc:Name>IGV</cbc:Name>

    <cbc:TaxTypeCode>VAT</cbc:TaxTypeCode>

    </cac:TaxScheme>

    </cac:TaxCategory>

    </cac:TaxSubtotal>

    </cac:TaxTotal>

    <cac:Item>

    <cbc:Description>FITESA BLOCK  AZUL HIELO 15G/M2 172MM</cbc:Description>

    <cac:SellersItemIdentification>

    <cbc:ID />000001<cbc:ID />

    </cac:SellersItemIdentification>

    </cac:Item>

    <cac:Price>

    <cbc:PriceAmount currencyID="USD">0.03</cbc:PriceAmount>

    </cac:Price>

    </cac:InvoiceLine>

    </Invoice>

    El parámetro MV_ACPARNE debe tener las opciones: 1=Obligatorio y 2=Opcional. Se debe inicializar como opcional>.

     

    Tablas Utilizadas

    • SF1 – Encabezado de Fact. de Entrada.
    • SF2 - Encabezado de Fact. de Salida.
    • SA1 – Clientes.
    • SYA - Paises.
    • SFB - Impuestos Variables.
    • SFC - Vinculo Tes vs. Impuestos.
    • SD1 - Items de las Fact. de Entrada.
    • SD2 - Items de Venta de la Fact.
    • SAH - Unidades de Medida.
    • SB1 - Descripcion Generica Producto.

    Opcional

    Prototipo de Pantalla

     No aplica

    Opcional

    Flujo del Proceso

     

    <En esta etapa, incluir representaciones gráficas que describan el problema por solucionar y el sistema que se desarrollará. Ejemplo: Diagrama - Caso de Uso, Diagrama de Actividades, Diagrama de Clases, Diagrama de Entidad y Vínculo y Diagrama de Secuencia>. 

    Diccionario de Datos


    Se deberán crear los siguientes campos:


    SFC – Detalle Tipo Entrada/Salida (TES)

     

    Campo

    FC_TIPOIGV

    Tipo

    C

    Tamaño

    2

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Tipo de Afectación IGV

    Título

    Afectación IGV

    Picture

    @!

    ContextoReal
    PropiedadModificar
    F3XR – Tipos Afectación del IGV
    ValidaciónExistCpo("SX5","XR"+M->FC_TIPOIGV)

    Help de Campo

    Tipo de afectación del IGV según Catálogo No. 7

    10           Gravado – Operación Onerosa

    11           Gravado – Retiro por premio

    12           Gravado – Retiro por donación

    13           Gravado – Retiro

    14           Gravado – Retiro por publicidad

    15           Gravado – Bonificaciones

    16           Gravado – Retiro por entrega a trabajadores

    17           Gravado – IVAP

    20           Exonerado – Operación Onerosa

    21           Exonerado – Transferencia Gratuita

    30           Inafecto – Operación Onerosa

    31           Inafecto – Retiro por Bonificación

    32           Inafecto – Retiro

    33           Inafecto – Retiro por Muestras Médicas

    34           Inafecto – Retiro por Convenio Colectivo

    35           Inafecto – Retiro por premio

    36           Inafecto – Retiro por publicidad 

    40           Exportación

    Informar solamente cuando el impuesto es IGV

    Campo

    FC_TIPOISC

    Tipo

    C

    Tamaño

    2

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Tipo de Afectación ISC

    Título

    Afectación ISC

    Picture

    @!

    ContextoReal
    PropiedadModificar
    F3XR – Tipos Afectación del IGV
    ValidaciónExistCpo("SX5","XT"+M->FC_TIPOISC)

    Help de Campo

    Tipo de sistema de cálculo de ISC según catálogo No. 08

    01 Sistema al valor (Apéndice IV, lit. A – T.U.O IGV e ISC)

    02 Aplicación del Monto Fijo (Apéndice IV, lit. B – T.U.O IGV e ISC)

    03 Sistema de Precios de Venta al Público (Apéndice IV, lit. C – T.U.O IGV e ISC)

    Informar solamente para ISC

     

    SFB- Impuestos Variables

     

    Campo

    FB_CLASSE

    Tipo

    C

    Tamaño

    1

    Uso

    Usado

    Obligatorio

    Sí ( X ) No (  )

    Descripción

    Clase de impuesto

    Título

    Clase Imp.

    Picture

     

    ContextoReal
    PropiedadModificar
    ListaI=Impuesto;P=Percepcion;R=Retencion
    ValidaciónPERTENCE("IPR")

    Help de Campo

    Indica clase del impuesto.

    Campo

    FB_CODIMP

    Tipo

    C

    Tamaño

    4

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Codigo de Impuesto

    Título

    Cod. Impuesto

    Picture

     

    ContextoReal
    PropiedadModificar
    Lista 
    ValidaciónExistCpo("SX5","XS"+M->FB_CODIMP)

    Help de Campo

    Código del impuesto según SUNAT Catálogo No. 5 Códigos de tipos de Tributo

    1000 IGV IMPUESTO GENERAL A LAS VENTAS VAT

    2000 ISC IMPUESTO SELECTIVO AL CONSUMO EXC

    9999 OTROS CONCEPTOS DE PAGO OTH

     

    SFP – Control de formularios

     

    Campo

    FP_SERIE2

    Tipo

    C

    Tamaño

    4

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Serie 2

    Título

    Serie 2

    Picture

     

    ContextoReal
    PropiedadModificar
    Lista 
    ValidaciónNaoVazio()

    Help de Campo

    Serie a 4 digitos que será informada al SUNAT.

     

    SF1 - Encabezado de Factura Entrada

     

    Campo

    F1_FECAUT

    Tipo

    D

    Tamaño

    8

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Fecha de autorización

    Título

    Fch Aut

    Picture

     

    ContextoReal
    PropiedadModificar
    Lista 
    Validación 

    Help de Campo

    Fecha de Autorización Digital

    Campo

    F1_FLFTEX

    Tipo

    C

    Tamaño

    1

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Estatus transmission Electrónica

    Título

    Status Trans

    Picture

     

    ContextoReal
    PropiedadModificar
    Lista 0=No Enviado,1=Enviado a TSS,4=Esperando procesamiento,5=Rechazado,6=Autorizado.
    Inicializa Estd 0

    Help de Campo

    Indica el estatus del documento una vez que ha sido enviado al TSS.

    Campo

    F1_MOTIVO

    Tipo

    C

    Tamaño

    30

    Uso

    Usado

    Obligatorio

    Sí ( X ) No (  )

    Descripción

    Motivo

    Título

    Motivo

    Picture

     @!

    ContextoReal
    PropiedadModificar
    BrowseNo
    OrdenF3

    Help de Campo

    Motivo por el cuál se emite el documento.

    Campo

    F1_TIPREF

    Tipo

    C

    Tamaño

    1

    Uso

    Usado

    Obligatorio

    Sí ( X ) No (  )

    Descripción

    Tipo de Nota de Crédito

    Título

    Tipo Nota de C

    Picture

     @!

    ContextoReal
    PropiedadModificar
    ValidaciónExistCpo("SX5","XO"+M->F1_TIPREF)

    Help de Campo

    Tipo de Nota de Crédito Electrónica conforme a catálogo 10 de la SUNAT 

     

    SF2 – Encabezado de Factura de Venta

     

    Campo

    F2_FLFTEX

    Tipo

    C

    Tamaño

    1

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Estatus transmisión Elec

    Título

    Status Trans

    Picture

     

    ContextoReal
    PropiedadModificar
    Lista0=No Enviado; 1=Enviado a TSS; 4=Esperando procesamiento; 5=Rechazado; 6=Autorizado
    Inicializa Estd0
    OrdenF9
    BrowseNo

    Help de Campo

    Indica el estatus del documento una vez que ha sido enviado al TSS.

    Campo

    F2_FECAUT

    Tipo

    D

    Tamaño

    8

    Uso

    Usado

    Obligatorio

    Sí (  ) No ( X )

    Descripción

    Fecha de autorización

    Título

    Fch Aut

    Picture

     

    ContextoReal
    PropiedadModificar
    BrowseNo
    OrdenF0

    Help de Campo

    Fecha de Autorización Digital

    Campo

    F2_MOTIVO

    Tipo

    C

    Tamaño

    30

    Uso

    Usado

    Obligatorio

    Sí ( X ) No (  )

    Descripción

    Motivo

    Título

    Motivo

    Picture

     @!

    ContextoReal
    PropiedadModificar
    BrowseNo
    OrdenF3

    Help de Campo

    Motivo por el cuál se emite el documento.

    Campo

    F2_TIPREF

    Tipo

    C

    Tamaño

    1

    Uso

    Usado

    Obligatorio

    Sí ( X ) No (  )

    Descripción

    Tipo Nota de Débito

    Título

    Tipo Nota D.

    Picture

     

    ContextoReal
    PropiedadModificar
    BrowseNo
    ValidaciónExistCpo("SX5","XP"+M->F2_TIPREF)

    Help de Campo

    Tipo de Nota de Debito Electrónica conforme a catálogo 10 de la SUNAT.

     

    Se deberán modificar los siguientes campos:

     

    SF2 .- Encabezado Factura de Venta

     

    Campo

    F2_SERIE

    Tipo

    C

    Tamaño

    3

    Uso

    Usado

    Obligatorio

    Sí ( X ) No (  )

    Descripción

    Serie Del Documento

    Título

    Serie Docto

    Picture

     

    ContextoReal
    PropiedadModificar
    BrowseNo
    ValidaciónLxExSer2()

    Help de Campo

    Serie de la factura.

     

    SA1.- Clientes


    Campo

    A1_TIPDOC

    Tipo

    C

    Tamaño

    2

    Uso

    Usado

    Obligatorio

    Sí ( X ) No (  )

    Descripción

    Tipo Documento Identidad

    Título

    Tipo Doc.

    Picture

     

    ContextoReal
    PropiedadModificar
    F3TB
    ValidaciónExistCpo("SX5","TB"+M->A1_TIPDOC)



    Tablas genéricos

     

    Agregar las siguientes tablas genéricas:

     

    XN – Tipo de Documento de Identidad (Catálogo No. 06)


    Clave

    Descripción

    01

    1

    02

    0

    03

    0

    04

    4

    05

    5

    06

    6

    07

    7

    08

    A

    00

    0

     

    XO -  Tipos de Nota de Crédito (Catálogo No. 09)


    Clave

    Descripción

    01

    ANULACION DE LA OPERACIÓN

    02

    ANULACION POR ERROR EN EL RUC

    03

    CORRECCION POR ERROR EN LA DESCRIPCION

    04

    DESCUENTO GLOBAL

    05

    DESCUENTO POR ITEM

    06

    DEVOLUCION TOTAL

    07

    DEVOLUCION POR ITEM

    08

    BONIFICACIÓN

    09

    DISMINUSIÓN EN EL VALOR

    10

    OTROS CONCEPTOS

     

    XP – Tipos de Nota de Débito (Catálogo No. 10)


    Clave

    Descripción

    01

    INTERESES POR MORA

    02

    AUMENTO EN EL VALOR

    03

    PENALIDADES

     

    XQ – Monedas ISO-4217 (Catálogo No. 02)


    Clave

    Descripción

    1

    PEN

    2

    USD

     

    XR – Tipos Afectación del IGV (Catálogo No. 07)


    Clave

    Descripción

    10

    10 Gravado - Operación Onerosa

    11

    Gravado – Retiro por premio

    12

    Gravado – Retiro por donación

    13

    Gravado – Retiro

    14

    Gravado – Retiro por publicidad

    15

    Gravado – Bonificaciones

    16

    Gravado – Retiro por entrega a trabajadores

    17

    Gravado – IVAP

    20

    Exonerado - Operación Onerosa

    21

    Exonerado – Transferencia Gratuita

    30

    Inafecto - Operación Onerosa

    31

    Inafecto – Retiro por Bonificación

    32

    Inafecto – Retiro

    33

    Inafecto – Retiro por Muestras Médicas

    34

    Inafecto - Retiro por Convenio Colectivo

    35

    Inafecto – Retiro por premio

    36

    Inafecto - Retiro por publicidad 

    40

    Exportación

     

    XT – Tipos de Sistema de cálculo del ISC (Catálogo No. 08)


    Clave

    Descripción

    01

    Sistema al Valor

    02

    Aplicación del Monto fijo

    03

    Sistema de Precios de Venta al público


    XS – Códigos de Tipos de Tributos (Catálogo No. 05)


    Clave

    Descripción

    1000

    IGV|VAT

    2000

    ISC|EXC

    9999

    OTROS|OTH


    Este documento es un material de especificación de los requisitos de innovación. Se trata de un contenido sumamente técnico.