Árvore de páginas

Versões comparadas

Chave

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

01. DATOS GENERALES


Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:SIGAFAT - Facturación
Función:
RutinaNombre TécnicoFecha
LOCXMEXFunciones Genéricas para Documentos Fiscales para México.1113/10/2022
FATEMEX.INIGeneración de XML de Documentos de Entrada11/0910/2022
País:México
Ticket:N/ANo aplica
Requisito/Story/Issue (informe el requisito vinculado):DMINA-16686  (Pacote: 011130)


02. SITUACIÓN/REQUISITO

se 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 (MATA465NNCC), así como agregar la una validación para que al guardar la Nota de Crédito donde , 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 agrega activó el campo Forma de Pago (F1_TPDOC), para que se visualice en la pantalla de la Nota 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
  • ", si existen
  • - 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
  • tabla
  • (SE1), en caso contrario no se permitirá el guardado de la Nota de Crédito.


Aviso
titleIMPORTANTE

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

...

Totvs custom tabs box
tabsPre-condiciones, Pasos, Paso 03, Paso 04
idspaso1,paso2
Totvs custom tabs box items
defaultyes
referenciapaso1
  1. Realizar un respaldo del repositorio del ambiente (archivo RPO).
  2. Aplicar el parche correspondiente al issue a la issue DMINA-16686.
  3. 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.
  4. Contar con Tener la configuración mencionada en el Documento Técnico de Diccionario de Datos, de acuerdo a lo mencionado en la sección 04. INFORMACIÓN ADICIONAL
  5. Realizar los cambios del archivo FATEMEX.INI mencionada en el Documento Técnico de que se mencionan en la sección 04. INFORMACIÓN ADICIONAL
  6. 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"
    • PUE-Pago en una sola exhibición.
Totvs custom tabs box items
defaultno
referenciapaso2
  1. Ingresar al módulo Facturación (SIGAFAT) ir al menú "Actualizaciones | FacturacionFacturación | Facturaciones "
      Crear
      • Incluir una Factura de Venta (NF).
    • Ingresar al módulo Facturación (SIGAFAT) ir al menú "Actualizaciones | Facturacion Facturación | Generac de Notas de Crédito y Debito" (MATA465N).
    • Seleccionar 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" PUE-Pago en una sola exhibición. (ver pre-condiciones)
    • Asignar una 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.
    • Revisar Validar en el archivo XML deberá contener en el nodo "FormaPago" el valor indicado en la Nota de Crédito 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.

CampoF1_TPDOC
TipoC - Caracter
Tamaño2
Decimal0
Formato@!
TítuloForma Pago
DescripciónForma de Pago SAT
ConsultaMEX005
Validación de sistemaVazio() .or. ValidF3I("S005", M->F1_TPDOC,1,2)
Nivel1
Inic. Estandár'99'
Obligatorio
Utilizado
BrowseNo
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.

Painel
titleFATEMEX

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[001094] +:= IIF(lCCCE,'http://www.sat.gob.mx/ComercioExterior11 http://www.sat.gob.mx/sitio_internet/cfd/ComercioExterior11/ComercioExterior11.xsd "','"')""
(PRE) _aTotal[095] := ""
(PRE) _aTotal[001033] +:= IIf(lCCCE, ' xmlns:cce11="http://www.sat.gob.mx/ComercioExterior11"' , "")""
(PRE) _aTotal[034] := ""
(PRE) _aTotal[035] := ""
(PRE) _aTotal[001] += ' Version="4.0"'036] := 0
(PRE) _aTotal[001075] += ' Serie="' + := Alltrim(SF1SM0->F1>M0_SERIENOMECOM) + '"'
(PRE) _aTotal[001096] += ' Folio="' + Alltrim:= DtoS(SF1->F1_DOCEMISSAO) + '"'
(PRE) _aTotal[096] := Left(_aTotal[001096] += ' Fecha="' + Alltrim,4) + "-" + Substr(_aTotal[096],5,2)+ '"'"-" + Right(_aTotal[096],2)
(PRE) _aTotal[001096] += ' Sello="T" ' + Alltrim(+ SF1->F1_HORA
(PRE) _aTotal[100]) + '"'097] := {"SD1",""}
(PRE) _aTotal[001098] += ' FormaPago="' + IIF(Empty(:= "|"
(PRE) _aTotal[102099] ),"99",:= "||"
(PRE) _aTotal[102]) + '"'

En el apartado de [XXX INICIALIZACION] 

...

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///////////////

...

Se modifica la línea:

//

...


(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(

...

Por la siguiente línea

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]

...

)

...

+ '"'

...


Card documentos
InformacaoUtilice este box para resaltar información relevante y/o de destaque.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
Titulo¡IMPORTANTE!


05. ASUNTOS RELACIONADOS