01. DATOS GENERALES
Producto | TOTVS Backoffice | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | |||||||||
Segmento: | Backoffice | |||||||||
Módulo: | SIGAFAT - Facturación | |||||||||
Función: |
| |||||||||
País: | México | |||||||||
Ticket: | No aplica | |||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-16686 (Pacote: 011130) |
02. SITUACIÓN/REQUISITO
Se requiere permitir modificar y/o indicar la Forma de Pago del Documento desde que se está generando, por lo tanto se requiere activar un campo donde se indique la "Forma de Pago" en el encabezado de la Nota de Crédito de Cliente (NCC), así como agregar una validación para que al guardar la Nota de Crédito, se verifique que si la Forma de pago(F1_TPDOC) es igual a 15 - Condonación de acuerdo al catálogo c_FormaPago definido por el SAT, si existen Facturas relacionadas estás deben tener saldo mayor a cero en las Cuentas por Cobrar.
03. SOLUCIÓN
En la rutina Funciones Genéricas para Documentos Fiscales para México "LOCXMEX":
Se activó el campo Forma de Pago (F1_TPDOC), para que se visualice en la pantalla de la generación de Notas de Crédito (MATA465N), por default este campo se mostrará con valor 99 - Por definir.
Se crea la función LxMxPagoNC() que cumplen con la siguiente regla de negocio:
- Si la condición de pago de la Nota de Crédito de Cliente (NCC), tiene indicado el campo Forma Pago (F1_TPDOC) con valor 15 - Condonación, y la Nota de Crédito tiene Facturas relacionadas, estás deben tener saldo mayor a cero en la tabla de Cuentas por Cobrar (SE1), en caso contrario no se permitirá el guardado de la Nota de Crédito.
IMPORTANTE
Actualmente si se indica una Forma de Pago diferente al valor 99 - Por definir, se debe indicar un Método de Pago diferente a "PPD - Pago en Parcialidades
- Realizar un respaldo del repositorio del ambiente (archivo RPO).
- Aplicar el parche correspondiente a la issue DMINA-16686.
- Validar que las rutinas incluidas en el parche coincidan con las mencionadas en la sección "Función" del encabezado del presente Documento Técnico, así como las fechas.
- Tener la configuración en el Diccionario de Datos, de acuerdo a lo mencionado en la sección 04. INFORMACIÓN ADICIONAL
- Realizar los cambios del archivo FATEMEX.INI que se mencionan en la sección 04. INFORMACIÓN ADICIONAL
- Ingresar al módulo Facturación (SIGAFAT), ir al menú "Actualizaciones | Archivos | Condiciones de Pago " (MATA360).
- Configurar una Condición de Pago, informando el campo Met Pago SAT (E4_MPAGSAT) con el valor PUE-Pago en una sola exhibición.
- Ingresar al módulo Facturación (SIGAFAT) ir al menú "Actualizaciones | Facturación | Facturaciones "
- Incluir una Factura de Venta (NF).
- Ingresar al módulo Facturación (SIGAFAT) ir al menú "Actualizaciones | Facturación | Generac de Notas de Crédito y Debito" (MATA465N).
- En el parámetro ¿Tipo Factura?, seleccionar la opción Cargo, para la creación de una Nota de Crédito de Cliente (NCC).
- Indicar una Condición de Pago con Método de Pago SAT igual a PUE-Pago en una sola exhibición. (ver pre-condiciones)
- Informar el campo Forma de Pago (F1_TPDOC).
- Indicar los ítems del documento, y si se desea indicar una factura relacionada Doc Originial (D1_NFORI) y Serie Original(D1_SERIORI), se puede hacer desde Otras acciones de la acción Doc Orig.
- Guardar la Nota de Crédito de Cliente (NCC).
NOTA: Si la Factura asociada no tiene saldo en Cuentas por Pagar (SE1), y se indicó la Forma Pago igual 15 - Condonación, deberá indicar otra Forma de Pago ya que no permitirá el guardado con ese valor. - Confirmar la generación y timbrado del CFDI.
- Validar en el archivo XML que el atributo FormaPago, contiene el valor indicado en el campo Forma de Pago (F1_TPDOC) para la Nota de Crédito (NCC).
04. INFORMACIÓN ADICIONAL
Creación de campos en el archivo SX3 – Campos:
Tabla SF1 - Encabezado de Fact. de Entrada.
Campo | F1_TPDOC |
---|---|
Tipo | C - Caracter |
Tamaño | 2 |
Decimal | 0 |
Formato | @! |
Título | Forma Pago |
Descripción | Forma de Pago SAT |
Consulta | MEX005 |
Validación de sistema | Vazio() .or. ValidF3I("S005", M->F1_TPDOC,1,2) |
Nivel | 1 |
Inic. Estandár | '99' |
Obligatorio | Sí |
Utilizado | Sí |
Browse | No |
Help | Informe la Forma de Pago SAT para el Documento generado, de acuerdo al catálogo cFormaPago definido por el SAT. |
FATEMEX.INI
Se requiere editar el script actual de generación de CFDI (Archivo XML), actualizando las secciones de acuerdo al siguiente modelo, en donde se agregaron o fueron modificadas líneas para integrar esta nueva funcionalidad.
Se edita las líneas dentro del INI.
En el apartado de [XXX INICIALIZACION]
(PRE) SD1->(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) _aTotal[094] := ""
(PRE) _aTotal[095] := ""
(PRE) _aTotal[033] := ""
(PRE) _aTotal[034] := ""
(PRE) _aTotal[035] := ""
(PRE) _aTotal[036] := 0
(PRE) _aTotal[075] := Alltrim(SM0->M0_NOMECOM)
(PRE) _aTotal[096] := DtoS(SF1->F1_EMISSAO)
(PRE) _aTotal[096] := Left(_aTotal[096],4) + "-" + Substr(_aTotal[096],5,2)+ "-" + Right(_aTotal[096],2)
(PRE) _aTotal[096] += "T" + SF1->F1_HORA
(PRE) _aTotal[097] := {"SD1",""}
(PRE) _aTotal[098] := "|"
(PRE) _aTotal[099] := "||"
(PRE) _aTotal[100] := ""
(PRE) _aTotal[101] := IIF(SuperGetMv("MV_DESCSAI",.T.,"2") == "1", .T., .F.)
(PRE) _aTotal[102] := IIf(SF1->(ColumnPos("F1_TPDOC")) > 0,AllTrim(SF1->F1_TPDOC),AllTrim(AI0->AI0_MPAGO))
En el apartado ///////////DATOS DE LA FACTURA/////////////////
(PRE) (SE4->(MSSeek(xFilial("SE4")+SF1->F1_COND)) , .T.)
(PRE) (AI0->(MSSeek(xFilial("AI0")+SF1->F1_FORNECE+SF1->F1_LOJA)) , .T.)
//Version
(PRE) cCadOrig += "4.0" + _aTotal[098]
//Serie
(PRE) cCadOrig += Alltrim(SF1->F1_SERIE) + _aTotal[098]
//Folio
(PRE) cCadOrig += Alltrim(SF1->F1_DOC) + _aTotal[098]
//Fecha
(PRE) cCadOrig += Alltrim(_aTotal[096]) + _aTotal[098]
//FormaPago
(PRE) cCadOrig += IIF(Empty(_aTotal[102]),"99",_aTotal[102]) + _aTotal[098]
En el apartado de [XXX FACTURA]
(PRE) _aTotal[001] += IIF(lCCCE,'http://www.sat.gob.mx/ComercioExterior11 http://www.sat.gob.mx/sitio_internet/cfd/ComercioExterior11/ComercioExterior11.xsd "','"')
(PRE) _aTotal[001] += IIf(lCCCE, ' xmlns:cce11="http://www.sat.gob.mx/ComercioExterior11"' , "")
(PRE) _aTotal[001] += ' Version="4.0"'
(PRE) _aTotal[001] += ' Serie="' + Alltrim(SF1->F1_SERIE) + '"'
(PRE) _aTotal[001] += ' Folio="' + Alltrim(SF1->F1_DOC) + '"'
(PRE) _aTotal[001] += ' Fecha="' + Alltrim(_aTotal[096]) + '"'
(PRE) _aTotal[001] += ' Sello="' + Alltrim(_aTotal[100]) + '"'
(PRE) _aTotal[001] += ' FormaPago="' + IIF(Empty(_aTotal[102]),"99",_aTotal[102]) + '"'
Esta solución aplica para versión 12.1.33 o superior, se debe tener activada la funcionalidad de Factura Electrónica versión CFDI 4.0¡IMPORTANTE!