[pyar] modelizar libro contable

Pumarfa pumarfa en gmail.com
Lun Jun 7 15:55:17 ART 2010


2010/6/7 Ricardo Aráoz <ricaraoz en gmail.com>

> On 07/06/2010 11:47 a.m., peinado genial wrote:
>
>> tengo dudas sobre como modelizar asientos de un libro diario contable,
>> por ejemplo:
>>
>> class Asiento():
>>   id =
>>   fecha =
>>   detalle =
>>   debe =
>>   haber =
>>
>> class Movimiento():
>>   id =
>>   monto =
>>   fecha =
>>
>> class ReservaHabitacion(Movimiento):
>>   habitacion =
>>   fecha_ingreso=
>>   fecha_egreso =
>>
>> class Gasto(Movimiento):
>>   factura_numero =
>>
>>
>> mi duda es si estan bien encarado los modelos y como vincular los
>> Movimientos con los Asientos, para desde un asiento en particular
>> acceder al detalle de cada movimiento, teniendo en cuenta que existen
>> varios tipos de movimientos con distintos atributos.
>>
>>
> Si tu objetivo es un uno_a_muchos desde asientos a movimientos te hago
> notar que tenés repetido fecha, ya que los movimientos de un asiento creo
> que se contabilizan a la fecha del asiento. Así que tendrías que sacar fecha
> de Movimiento. Por otro lado es el movimiento el que corresponde al
> debe/haber y no el asiento (a menos que estés totalizando el debe y haber de
> un asiento, pero eso no tiene que ver con estructura de datos y es
> probablemente una optimización prematura ya que se pueden calcular con la
> suma de movimientos del asiento), asi que yo sacaría debe y haber de asiento
> y pondría debe (booleano) en Movimiento (si es False => va al Haber).
> Para vincular los Movs con los Asientos tenés que tener un atributo en
> Movimiento que sea el AsientoId.
> En cuanto a ReservaHabitacion y Gasto, no me queda claro qué querés hacer
> con ellos.
> Ahora si esto no tiene que ver con estructura de datos sino con objetos, ya
> depende mucho más de lo que quieras hacer con ellos. Por ejemplo podrías no
> tener AsientoId en movimientos y en Asientos tener una lista de movimientos.
>
>
>
Me perdí un poco en el planteo...

pero, básicamente antes de realizar un asiento necesitas un plan de cuentas.
Es ese plan de cuentas el que dice si una cuenta se imputa en el debe o en
el haber. También el plan de cuentas te dice "como se calcula" una cuenta
cuando la misma es de resultado.

Luego, al realizar el asiento, se toma la cuenta en cuestión y se le asigan
el valor; se le da una fecha al asiento (fecha que debe quedar dentro del
ejercicio fiscal) y se completa el asiento con la imputación de las demás
cuentas que intervengan (Las que pagan y las que cobran)

En definitiva; un asiento tiene:

Asiento:
--> Asineto_id
--> Fecha movimeinto

detalle asiento:
--> Cuenta_id
--> importe

El detalle del asiento se construye con el plan de cuentas:

Plan de cuenta
--> Cuanta_id
--> nombre
--> tipo (básicamente si es del Debe, Haber o Resultado)

Esto es un modelo muy simplificado, un plan de ctas es algo más complejo,
pero en movimientos diarios con esto debería bastar. Me llama la atención el
que se trate de llenar un Libro Diario. Generalmente los operadores
registran movimientos, que luego se transforman en registro contables; de lo
contrario la persona que opera debe tener los conocimientos contables
suficientes para saber que cuentas usar en cada caso y poder equilibrar cada
asiento.


-- 
"El software libre es el nuevo continente que hemos construido en el
ciberespacio, y por ser virtual tiene campo para todos".
-R.Stallman.

"Hoy en día llaman libertad de expresión a la libertad que tienes de hablar
sin que nadie te escuche" - David Bravo Bueno

16 resmas = 1 arbol. Razón suficiente para pensar si es necesario imprimir
este correo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100607/c5eb0567/attachment.html>


More information about the pyar mailing list