Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Errores (relacionados con al AEAT)
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #14  
Antiguo 17-12-2024
sglorka sglorka is offline
Miembro
 
Registrado: mar 2017
Ubicación: Tenerife
Posts: 550
Poder: 10
sglorka Va por buen camino
Cita:
Empezado por bmfranky Ver Mensaje
Hola, podriais poner un ejemplo de codigo de como realizais el ajuste automatico en el programa? o lo realizais manualmente?, Gracias.
Bueno te puedo indicar el pseudocódigo aproximado de cómo valoramos una factura para impuestos incluidos en el precio
Espero no incurrir en ningún error. Pero básicamente, asegura que la suma de todos los valores brutos de las líneas para un tipo de Iva coincidan con la base imponible de ese Iva y que la suma de los valores de iva para el tipo de Iva "Tipo" coincida con el Iva del tipo "Tipo". He obviado los recargos de equivalencia para mayor claridad

1.- Construcción de las Bases Imponibles

For each LineaVenta in Ventas (Para cada línea de venta)
LineasVenta(Base) = LineasVenta(Uds) * LineasVenta(Precio) - (DescuentosLineas) + (RecargosLineas) 'En los Descuentos y recargos se incluyen prorrateados los descuentos y recargos globales
Next


2.-Cálculo de Brutos e Impuestos por línea

For each Tipo in TiposDeImpuestos (Para cada Tipo de Impuesto)

For each Linea in LineasVenta(Tipo) 'Obtiene todas las líneas de venta del Tipo "Tipo"

LineaBruto = Linea(Base) * 100 / (100 + Tipo)
LineaIva = Redondea2Decimales(LineaBruto * Tipo / 100)
LineaBruto = Redondea2Decimales(Linea(Base) - LineaIva)

Next

Next

3.-Ajustes de las Bases imponibles

For each Tipo in TiposDeImpuestos

For Each ValorBruto in LineasBruto(Tipo) 'Obtiene todos los valores brutos de las líneas con el Tipo "Tipo"
Parcial += ValorBruto
Next

Ajuste = LineaBruto(Tipo) - Parcial

si Ajuste <> 0 quiere decir que las sumas de las bases de cada línea para el tipo "Tipo" difiere de la Base imponible del tipo "Tipo"
Le aplico el ajuste a la primera línea del Tipo "Tipo"

if Ajuste <> 0 then

For Each Linea in LineaBruto(Tipo)
Linea(Bruto) += Ajuste
exit for
End if

End if

Next

4.- Hacemos lo mismo con los Impuestos

For each Tipo in TiposDeImpuestos

For Each ValorIva in LineasIva(Tipo)
Parcial += ValorIva
Next

Ajuste = LineaIva(Tipo) - Parcial

si Ajuste <> 0 quiere decir que las sumas de los Ivas de cada línea para el tipo "Tipo" difiere de el Valor de Iva para el tipo "Tipo"
Le aplico el ajuste a la primera línea del Tipo "Tipo"

if Ajuste <> 0 then

For Each Linea in LineasIva(Tipo)
Linea(Iva) += Ajuste
exit for
End if

End if

Next
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Procedimiento Calculo RFC amerika111 Firebird e Interbase 26 17-08-2011 20:07:03
Duda con un Error en proceso de cálculo..... ronimaxh Conexión con bases de datos 2 22-12-2009 17:01:48
Error Calculo FIREBIRD 1.5.2.4731 ASAPLTDA Firebird e Interbase 1 10-01-2006 21:55:26
calculo letra NIE Cabanyaler Varios 3 29-03-2005 12:19:42
error calculo en udf marrullas Firebird e Interbase 0 02-11-2004 21:01:58


La franja horaria es GMT +2. Ahora son las 16:18:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi