Árvore de páginas


ÍNDICE

  1. Visión general
  2. Ejemplo de utilización
  3. Pantalla de Configuración
  4. Pantalla de Validación de Proceso
  5. Diccionario de Datos
  6. Tablas


01. VISIÓN GENERAL

Dar cumplimiento al artículo 36 del REGLAMENTO PARA APLICACIÓN LEY DE RÉGIMEN TRIBUTARIO INTERNO de Ecuador.

Art. 36.- Reembolso de gastos en el país.- No estarán sujetos a retención en la fuente los reembolsos de gastos, cuando los comprobantes de venta sean emitidos a nombre del intermediario, es decir, de la persona a favor de quien se hacen dichos reembolsos y cumplan los requisitos establecidos en el Reglamento de Comprobantes de Venta y de Retención. En el caso de gastos que no requieran de comprobantes de venta, los mismos serán justificados con los documentos que corresponda, sin perjuicio de la excepción establecida en este reglamento.

Los intermediarios efectuarán la respectiva retención en la fuente del impuesto a la renta y del IVA cuando corresponda.

Para los intermediarios, los gastos efectuados para reembolso no constituyen gastos propios ni el reembolso constituye ingreso propio; para el reembolsante el gasto es deducible y el IVA pagado constituye crédito tributario.

Para obtener el reembolso el intermediario deberá emitir una factura por el reembolso de gastos, en la cual se detallarán los comprobantes de venta motivo del reembolso, con la especificación del RUC del emisor, número de la factura, valor neto e IVA y además se adjuntarán los originales de tales comprobantes. Esta factura por el reembolso no dará lugar a retenciones de renta ni de IVA. En el caso de que el intermediario del reembolso sea un empleado en relación de dependencia del reembolsante, éste podrá emitir la liquidación de compra de bienes y prestación de servicios en sustitución de la factura por el reembolso.

El pago por reembolso de gastos deberá estar sustentado en comprobantes de venta que cumplan con los requisitos previstos en el Reglamento de Comprobantes de Venta y Retención.

Ver Emisión de comprobantes electrónicos  ANEXO 5 - FORMATOS XML FACTURA DE REEMBOLSO.


02. EJEMPLO DE UTILIZACIÓN


PROCEDIMIENTO DE IMPLANTACIÓN

  1. Se recomienda respaldar el repositorio de objetos (RPO) antes de aplicar el paquete de actualización (patch).
  2. Aplique el patch del issue DMINA-19646, el cual contienen las siguientes rutinas:
    • MATA488.PRW

  3. Revisar la configuración de Campos y Catálogos necesarios para transmisión electrónica: DT Facturación_Electrónica_EQU
  4. Configurar los campos indicados en la sección 05. Diccionario de Datos.
  5. Actualizar el archivo de configuración FATSECU.INI 


Configuraciones Previas:


Modificar el archivo FATSECU.INI eliminando las líneas indicadas en color Rojo y reemplazar por las líneas en color Azul.

Actualizar FATSECU.INI

[XXX POSICIONAMENTOS]
(PRE) If(AllTrim(SF2->F2_ESPECIE)<>"NDI",SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.)
(PRE) (AI0->(MSSeek(xFilial("AI0")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.)

[XXX INICIALIZACION]
(PRE) SD2->(DbSetOrder(1))
(PRE) SB1->(DbSetOrder(1))
(PRE) SYA->(DbSetOrder(1))
(PRE) SC6->(DbSetOrder(1))
(PRE) SE4->(DbSetOrder(1)) 
(PRE) CTO->(DbSetOrder(1)) 
(PRE) SAH->(DbSetOrder(1))
(PRE) SA1->(DbSetOrder(1))

(PRE) _aTotal[016] := IIf(SF2->(ColumnPos("F2_TPVENT"))==0,.F.,SF2->F2_TPVENT == '1')
(PRE) _aTotal[002] := chr(13) + chr(10)
(PRE) _aTotal[003] := "99999999999999.99"
(PRE) _aTotal[004] := {"SD2",""}
(PRE) _aTotal[005] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",IIf(_aTotal[016],"liquidacionCompra","factura"),"notaDebito")
(PRE) _aTotal[006] := M486NOMARC(SF2->F2_FILIAL, SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA)
(PRE) _aTotal[007] := SuperGetMV("MV_CFDIAMB",.F.,"1")
(PRE) _aTotal[008] := GetTaxasEq(SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA,,_aTotal[016])
(PRE) _aTotal[009] := TamSX3("F2_DOC")[1]
(PRE) _aTotal[010] := ""
(PRE) _aTotal[011] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",IIf(_aTotal[016],"LiquidacionCompra","Factura"),"NotaDebito")
(PRE) _aTotal[012] := IIf(Alltrim(SF2->F2_ESPECIE)=="NDC", fObtDocRef(SF2->F2_FILIAL, SF2->F2_NFREF, SF2->F2_SERREF, SF2->F2_CLIENTE, SF2->F2_LOJA), "")
(PRE) _aTotal[013] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF","importeTotal","valorTotal")
(PRE) _aTotal[014] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",'standalone="yes"',"")
(PRE) _aTotal[015] := IIf(Alltrim(SF2->F2_ESPECIE)=="NF",IIf(_aTotal[016],"1.1.0","2.1.0"),"1.0.0")
(PRE) _aTotal[017] := IIf(_aTotal[016],"Proveedor","Comprador")

(PRE) _aTotal[019] := ""
(PRE) _aTotal[020] := IIf(SF2->(ColumnPos("F2_TPDOC"))==0 .OR. SF2->(ColumnPos("F2_TPVENT"))==0 .OR. SF2->(ColumnPos("F2_TIPOPE"))==0,.F.,.T.)
(PRE) _aTotal[021] := IIF( _aTotal[020], IIF(Alltrim(SF2->F2_TPDOC) =='01' .AND. Alltrim(SF2->F2_TPVENT) =='1' .AND. Alltrim(SF2->F2_TIPOPE) =='41',.T.,.F.),.F.)
(PRE) _aTotal[021] := IIF(_aTotal[020], IIF(Alltrim(SF2->F2_TPDOC) =='01' .AND. Alltrim(SF2->F2_TIPOPE) =='41',.T.,.F.),.F.)
(PRE) _aTotal[022] := IIF(_aTotal[021], obtTotReem(SF2->F2_DOC, SF2->F2_SERIE, SF2->F2_CLIENTE, SF2->F2_LOJA), {}) 
(PRE) _aTotal[023] := {"AQ0",""} 
(PRE) _aTotal[024] := {""}
(PREREG) FsQuery(_aTotal[004],1,"D2_DOC='" + SF2->F2_DOC + "' AND D2_SERIE='" + SF2->F2_SERIE + "' AND D2_CLIENTE='" + SF2->F2_CLIENTE + "' AND D2_LOJA='" + SF2->F2_LOJA + "'","SD2->D2_DOC=SF2->F2_DOC .AND. SD2->D2_SERIE=SF2->F2_SERIE .AND. SD2->D2_CLIENTE=SF2->F2_CLIENTE .AND. SD2->D2_LOJA=SF2->F2_LOJA","D2_ITEM") .And. .T.

[XXX EMISOR]
(PREREG) (_aTotal[001] := '<?xml version="1.0" encoding="UTF-8" ' + _aTotal[014] + '?>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '<' + _aTotal[005] + ' id="comprobante" version="' + _aTotal[015] + '">' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '    <infoTributaria>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <ambiente>' + _aTotal[007] + '</ambiente>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <tipoEmision>' + "1" + '</tipoEmision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <razonSocial>' + Alltrim(SM0->M0_NOMECOM) + '</razonSocial>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += IIF(_aTotal[018],'        <nombreComercial>' + Alltrim(SM0->M0_NOME) + '</nombreComercial>'+ _aTotal[002],"") ,.T.)
(PREREG) (_aTotal[001] += '        <ruc>' + Alltrim(SM0->M0_CGC) + '</ruc>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <codDoc>' + IIf(Alltrim(SF2->F2_ESPECIE)=="NF", IIf(_aTotal[016],"03","01"),"05") + '</codDoc>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '        <estab>' + Alltrim(SF2->F2_ESTABL) + '</estab>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <ptoEmi>' + Alltrim(SF2->F2_PTOEMIS) + '</ptoEmi>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <secuencial>' + Alltrim(Substr(SF2->F2_DOC,(_aTotal[009]-8),9)) + '</secuencial>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <dirMatriz>' + Alltrim(SM0->M0_ENDENT) + " " + Alltrim(SM0->M0_COMPENT) + '</dirMatriz>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoTributaria>',.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[XXX RECEPTOR]
(PREREG) (SA1->(MSSeek(xFilial("SA1")+SF2->F2_CLIENTE+SF2->F2_LOJA)) , .T.)
(PREREG) (_aTotal[001] := '    <info' + _aTotal[011] + '>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <fechaEmision>' + cValtoChar( SF2->F2_EMISSAO ) + '</fechaEmision>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <tipoIdentificacion' + _aTotal[017] + '>' + Alltrim(SA1->A1_TIPDOC) + '</tipoIdentificacion' + _aTotal[017] + '>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <razonSocial' + _aTotal[017] + '>' + Alltrim(SA1->A1_NOME) + '</razonSocial' + _aTotal[017] + '>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <identificacion' + _aTotal[017] + '>' + Alltrim(SA1->A1_CGC) + '</identificacion' + _aTotal[017] + '>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '        <codDocModificado>' + _aTotal[012][1] + '</codDocModificado>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '        <numDocModificado>' + _aTotal[012][2] + "-" + _aTotal[012][3] + "-" + _aTotal[012][4] + '</numDocModificado>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '        <fechaEmisionDocSustento>' + _aTotal[012][5] + '</fechaEmisionDocSustento>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '        <direccion' + _aTotal[017] + '>' + Alltrim(SA1->A1_END) + '</direccion' + _aTotal[017] + '>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += '        <totalSinImpuestos>' + Alltrim(TRANSFORM(SF2->F2_VALMERC - _aTotal[008][2],_aTotal[003])) + '</totalSinImpuestos>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '        <totalDescuento>' + Alltrim(TRANSFORM(SF2->F2_DESCONT,_aTotal[003])) + '</totalDescuento>' + _aTotal[002], ""),.T.)

(PREREG) (_aTotal[001] += IIF(_aTotal[016],'        <codDocReembolso>' + IIF(_aTotal[021],ALLTRIM(SF2->F2_TIPOPE), '00' ) + '</codDocReembolso>' + _aTotal[002] ,"") , .T.)
(PREREG) (_aTotal[001] += IIF(_aTotal[021],'        <codDocReembolso>' + IIF(_aTotal[021],ALLTRIM(SF2->F2_TIPOPE), '00' ) + '</codDocReembolso>' + _aTotal[002] ,"") , .T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021],'        <totalComprobantesReembolso>' + IIF(Len(_aTotal[022]) > 0, Alltrim(TRANSFORM(_aTotal[022][1][1],_aTotal[003])), '0' ) + '</totalComprobantesReembolso>' + _aTotal[002] ,"") , .T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021],'        <totalBaseImponibleReembolso>' + IIF(Len(_aTotal[022]) > 0, Alltrim(TRANSFORM(_aTotal[022][1][2],_aTotal[003])), '0') +'</totalBaseImponibleReembolso>' + _aTotal[002] ,"") , .T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021],'        <totalImpuestoReembolso>' + IIF(Len(_aTotal[022]) > 0, Alltrim(TRANSFORM(_aTotal[022][1][3],_aTotal[003])),'0') + '</totalImpuestoReembolso>' + _aTotal[002] ,"") , .T.)
(PREREG) (_aTotal[001] += _aTotal[008][1],.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .And. !_aTotal[016], '        <propina>0.00</propina>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += '        <' + Alltrim(_aTotal[013]) + '>' + Alltrim(TRANSFORM(SF2->F2_VALBRUT,_aTotal[003])) + '</' + Alltrim(_aTotal[013]) + '>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <pagos>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '            <pago>' + _aTotal[002],.T.) 
(PREREG) (_aTotal[001] += '                <formaPago>' + Alltrim(AI0->AI0_MPAGO) + '</formaPago>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '                <total>' + Alltrim(TRANSFORM(SF2->F2_VALBRUT,_aTotal[003])) + '</total>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += IIF(_aTotal[016],'                <plazo>' + Alltrim(TRANSFORM(SF2->F2_VALBRUT,_aTotal[003])) + '</plazo>' + _aTotal[002],""),.T.)
(PREREG) (_aTotal[001] += '            </pago>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        </pagos>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </info' + _aTotal[011] + '>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '    <detalles>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '    <motivos>'  + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '        <motivo>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '            <razon>' + Alltrim(SF2->F2_MOTIVO) + '</razon>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '            <valor>' + Alltrim(TRANSFORM(SF2->F2_VALMERC - _aTotal[008][2],_aTotal[003])) + '</valor>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '        </motivo>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NDC", '    </motivos>' + _aTotal[002], ""),.T.)
(PREREG) ENCODEUTF8(_aTotal[001])

[SD2 INVOICE]
(PRE) DbGoTop()
(PREREG) (SB1->(DbSeek(xFilial("SB1") + SD2->D2_COD)),.T.)
(PREREG) (SAH->(DbSeek(xFilial("SAH") + SB1->B1_UM)),.T.)
(PREREG) _aTotal[010]  := TaxDetEcu(SD2->D2_DOC,SD2->D2_SERIE,SD2->D2_CLIENTE,SD2->D2_LOJA,SD2->D2_TES,AllTrim(SF2->F2_ESPECIE),SD2->D2_COD)
(PREREG) (_aTotal[001] := IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '        <detalle>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <codigoPrincipal>' + Alltrim(SD2->D2_COD) + '</codigoPrincipal>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <descripcion>' + Alltrim(SB1->B1_DESC) + '</descripcion>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <cantidad>' + Alltrim(TRANSFORM(SD2->D2_QUANT,_aTotal[003])) + '</cantidad>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <precioUnitario>' + Alltrim(TRANSFORM(SD2->D2_PRCVEN - (_aTotal[010][2] / SD2->D2_QUANT),_aTotal[003])) + '</precioUnitario>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <descuento>' + Alltrim(TRANSFORM(SD2->D2_DESCON,_aTotal[003])) + '</descuento>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <precioTotalSinImpuesto>' + Alltrim(TRANSFORM(SD2->D2_TOTAL - SD2->D2_DESCON - _aTotal[010][2],_aTotal[003])) + '</precioTotalSinImpuesto>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <impuestos>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", _aTotal[010][1], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            </impuestos>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '        </detalle>' + _aTotal[002], ""),.T.)
(PREREG) IIf(Alltrim(SF2->F2_ESPECIE) == "NF",ENCODEUTF8(_aTotal[001]), "")

[XXX INVOICE REEMBOLSO]
(PREREG) _aTotal[021]
(PREREG)  FsQuery(_aTotal[023],1,"AQ0_DOC='" + SF2->F2_DOC + "' AND AQ0_SERIE='" + SF2->F2_SERIE + "' AND AQ0_CLIENT='" + SF2->F2_CLIENTE + "' AND AQ0_TIENDA='" + SF2->F2_LOJA + "'","AQ0->AQ0_DOC=SF2->F2_DOC .AND. AQ0->AQ0_SERIE=SF2->F2_SERIE .AND. AQ0->AQ0_CLIENT=SF2->F2_CLIENTE .AND. AQ0->AQ0_TIENDA=SF2->F2_LOJA","AQ0_ITEM") .And. .T.

[AQ0 INVOICE REEMBOLSO]
(PREREG) _aTotal[021]
(PREREG) _aTotal[024]  := IIF(Alltrim(SF2->F2_ESPECIE) == "NF" .AND. _aTotal[021], TaxDetEcu(AQ0->AQ0_DOC,AQ0->AQ0_SERIE,AQ0->AQ0_CLIENTE,AQ0->AQ0_TIENDA,AQ0->AQ0_TES,AllTrim(SF2->F2_ESPECIE),"",.F.,.T.),{""})
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            <reembolsoDetalle>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <tipoIdentificacionProveedorReembolso>' + Alltrim(AQ0->AQ0_TIPDOC) + '</tipoIdentificacionProveedorReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <identificacionProveedorReembolso>' + Alltrim(AQ0->AQ0_CGC) + '</identificacionProveedorReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <codPaisPagoProveedorReembolso>' + Alltrim(AQ0->AQ0_PAIS) + '</codPaisPagoProveedorReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <tipoProveedorReembolso>' + Alltrim(AQ0->AQ0_TPPROV) + '</tipoProveedorReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <codDocReembolso>' + Alltrim(AQ0->AQ0_TPDOC) + '</codDocReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <estabDocReembolso>' + Alltrim(AQ0->AQ0_ESTABL) + '</estabDocReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <ptoEmiDocReembolso>' + Alltrim(AQ0->AQ0_PTOEMIS) + '</ptoEmiDocReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <secuencialDocReembolso>' + Alltrim(AQ0->AQ0_NUMDOC) + '</secuencialDocReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <fechaEmisionDocReembolso>' + cValtoChar( AQ0->AQ0_FECHA ) + '</fechaEmisionDocReembolso>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                <numeroautorizacionDocReemb>' + Alltrim(AQ0->AQ0_AUTOR) + '</numeroautorizacionDocReemb>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                    <detalleImpuestos>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", _aTotal[024][1], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '                    </detalleImpuestos>'  + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[019] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '            </reembolsoDetalle>' + _aTotal[002], ""),.T.)
(POS) FsQuery(_aTotal[023],2)
[XXX INVOICE_FIN]
(PREREG) (_aTotal[001] := IIf(Alltrim(SF2->F2_ESPECIE) == "NF", '    </detalles>' + _aTotal[002], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .and. _aTotal[019]!="", '        <reembolsos>' + _aTotal[002],"" ),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .and. _aTotal[019]!="", _aTotal[019], ""),.T.)
(PREREG) (_aTotal[001] += IIf(Alltrim(SF2->F2_ESPECIE) == "NF" .and. _aTotal[019]!="", '        </reembolsos>' + _aTotal[002],"" ),.T.)
(PREREG) (_aTotal[001] += '    <infoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <campoAdicional nombre="Email">' + Alltrim(SA1->A1_EMAIL) + '</campoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '        <campoAdicional nombre="TELEFONO">' + Alltrim(SA1->A1_TEL) + '</campoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '    </infoAdicional>' + _aTotal[002],.T.)
(PREREG) (_aTotal[001] += '</' +_aTotal[005] + '>',.T.)
(PREREG) _aTotal[001]
(POS) FsQuery(_aTotal[004],2)

[XXX FACTURA]
(PRE) _aTotal[094] := _aTotal[006] + ".XML"

(ARQ) _aTotal[094]




Configuraciones Generales

  1. Impuestos Variables
    1. En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Archivos | Impuestos Variables (MATA995)
    2. Asignar el impuesto variable.
  2. Tipos de Entradas y Salidas
    1. En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Archivos | Tipos de Entrada y Salida (MATA080)
    2. Configurar la TES.
  3. Control de Formularios
    1. En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Archivos | Control Formularios (MATA992)
    2. Configurar la serie y asignar el Código de punto de emisión y el código de Establecimiento.
  4. Modalidades
    1. En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Archivos | Modalidades (FINA010)
    2. Configurar una modalidad
  5. Condición de Pago
    1. En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Archivos | Condición de Pago (MATA360)
    2. Configurar una Condición de Pago
  6. Cliente
    1. En el módulo Facturación (SIGAFAT) desde el menú  Actualizaciones | Archivos | Clientes (MATA030).  03. Configure la pantalla a) Clientes
    2. Para documentos de Salida utilizar los Tipos de documento  Tipo. Doc = 04 – RUC , 05 - Cedula o 06 – Pasaporte
    3. Complemento del Cliente asignar la Forma de Pago
  7. Proveedor
    1. En el módulo Compras (SIGACOM) desde el menú Actualizaciones | Archivos | Proveedores (MATA020)  03. Configure la pantalla b) Proveedor
    2. Para documentos de Entrada utilizar los Tipos de documento  Tipo. Doc = 01 – RUC , 02 - Cedula o 03 – Pasaporte
    3. Relacionar al proveedor con el Cliente que se utilizará en la factura de reembolso.
  8. Productos
    1. En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Archivos | Productos (MATA010)
    2. Configurar Producto


Pasos para validación del proceso:


Factura de Reembolso

  1. En el módulo Facturación (SIGAFAT) desde el menú Actualizaciones | Facturación | Facturaciones (MATA467N). 04. 4.1 Factura de Reembolso   
    La información obligatoria para generar un Reembolso es la siguiente:
    • Número Docto
    • Modalidad
    • Número Autorización
    • Liquidación Compra = 2 – No
    • Tipo Comprobante = 41 – Comprobante de venta emitido por reembolso.
    • Tipo Reembolso = 01 – Reembolso
    • Ítems de Factura con valor.
  2. En el menú "Otras Acciones" seleccionar la opción "Reembolso". 04. 4.2 Reembolsos  
    1. Llenar los campos que se solicitan en la pantalla de Reembolso (Todos los campos del Reembolso son obligatorios).
      • Tipo doc. Id = Asignar 04- RUC, 05-Cedula o 06 Pasaporte. Catálogo S002 -Tipo Identificación
      • Identificación = Número RUC
      • País = Asignar el País de emisión de documento.
      • Tipo Proveedor = 01 – Para persona Natural o 02 – para Sociedad. Catálogo S026 -Tipo Proveedor Reembolso
      • Tipo Comprobante =Seleccionar de Catálogo S004 -Tipos Comprobante Autorizados
      • Establecimiento = Asignar los 3 dígitos del establecimiento
      • Punto Emisión = Asignar los 3 dígitos del punto de emisión
      • Número Comprobante = Asignar número de comprobante
      • Fecha = Asignar la fecha de emisión de documento.
      • Número Autorización = Asignar número de autorización
      • TES = Asignar el TES para calcular los impuestos
      • Valor = Asignar el valor del reembolso
      • Impuesto = Valor del impuesto relacionado a el TES. (llenado automático)
      • Total = Valor + impuesto. (llenado automático)
      • Total Reembolso = Suma del campo "Total" de todos los Ítems. (llenado automático)


        El valor total del Reembolso debe ser igual al valor total de la Factura.

    2. Después de asignar información a los Reembolsos dar clic en el botón “Confirmar” y “Finalizar”

      Si se desea modificar la información de los Reembolsos acceder nuevamente al menú “Otras acciones” opción “Reembolso” y realizar las modificaciones correspondientes.

  3. Revisar y guardar la Factura de Venta.

    La Factura de Reembolso no genera Cuantas por Pagar.

  4. En el módulo Financiero (SIGAFIN ) desde el menú Actualizaciones | Cuentas por Cobrar | Ctas por Cobrar (FINA040)

    1. Revisar que se haya generado correctamente la Cuenta por Cobrar relacionada al Reembolso.  04. 4.3 Cuentas por Cobrar


Facturación Electrónica

  1. En el módulo Facturación (SIGAFAT) desde el menú  Actualizaciones | Facturación | Transmisión Electrónica (MATA486)
  2. Transmitir la Factura de Reembolso.
    1. Verificar que la Factura de Reembolso este autorizada.  04.  4.4 Factura de reembolso autorizada 
    2. Verificar que el XML (almacenado en la ruta configurada en el parámetro MV_CFDDOCS) cuente con los elementos de Reembolso.  04.  4.5 Archivo XML
    3. Verificar archivo PDF generado por el proveedor de servicios electrónicos (Correo enviado al Cliente ) 04. Archivo PDF 4.6

03. PANTALLA DE CONFIGURACIÓN 

    1. Clientes




    2. Proveedor









04. PANTALLA DE VALIDACION DE PROCESO

4.1 Factura de Reembolso





4.2 Reembolsos



4.3 Cuentas por Cobrar



 4.4 Factura de reembolso autorizada 



 4.5 Archivo XML




 4.6 Archivo PDF



05. DICCIONARIO DE DATOS

NOTA: Las siguientes actualizaciones fueron incorporadas en el pacote 012268 MI - DMINA-19646 FACTURA DE REEMBOLSO EQU


1. Modificación de campos en el archivo SX3 - Campos:

Tabla: SF2 – Factura de Venta

Campo

F2_TPDOC

Tipo

C

Tamaño

2

Decimal

0

Formato

@!

Título

Tipo Reemb.

Descripción

Tipo de reembolso

Help

Informe el tipo de comprobante de reembolso si la NF es de Liquidación de Bienes y Servicios.

Lista Opciones

01=Reembolso;03=Prov Extranjero

Inicializador Estándar


Inicializador Browse


Modo Edición


Consulta


Val. Sistema

IIF(M->F2_TPVENT=="1" .or. Alltrim(M->F2_TIPOPE)=="41",Pertence("01/03"),Vazio())

Nivel

1

Obligatorio

No

Usado

Si

Browse

No


06. TABLAS UTILIZADAS

  • SF2 - Encabezado de Facturas de Salida.
  • SD2 - Ítems de Facturas de Salida.
  • AQ0 - Detalle de Reembolso.
  • SA1 - Clientes.
  • SYA - Países.
  • SFB - Impuestos Variables.
  • SFC - Vinculo TES vs. Impuestos.
  • SAH - Unidades de Medida.
  • SB1 - Descripción Genérica Producto.
  • SFP - Control de Formularios.
  • SED - Modalidades.
  • SE4 -  Condiciones de Pago.
  • SA1 - Clientes.
  • SA2 - Proveedores.
  • SE1 - Cuentas por Cobrar.