Contabilidad

Estoy creando una aplicación en ACCESS para la contabilidad de varias empresas. Lo que no se específicamente es como manejar varias empresas, las cuales tienen algunas tablas en común, pero algunas que contiene datos específicos de cada empresa (por ejemplo, plan de cuentas o Productos).
La duda pasa por no saber si se deben crear bases de datos para cada empresa, o en una sola tener todos las empresas. También me he fijado que los programas de contabilidad que venden, traen cierres de mes o ejercicio. Lo que no entiendo es que consecuencias trae esto para la base de datos ¿se crean nuevas tablas?.
Finalmente, no logro dimensionar la capacidad de ACCESS y por lo mismo, no me atrevo a meter todas las empresas en una sola base de datos. ¿Qué pasa cuando esta no tien más capacidad?. ¿Se debe copiar la estructura en una nueva base de datos?.
Gracias de antemano, y disculpa el vendaval de preguntas que realice.

1 respuesta

Respuesta
1
Yo tengo una aplicación corriendo para una pequeña gestoría que lleva una contabilidad de unas 100 empresas, las carga es de 8 clientes de red. Te cuento como lo tengo estructurado.
Tengo una base de datos con las tablas generales que no tienen movimientos (o casi no tienen), como por ejemplo las poblaciones que hay en España, las oficinas Bancarias de España, un Plan Contable estándar para cuando se crean nuevas empresas, una definición de Balance de Situación y de Pérdidas y ganancias general (para nuevas empresas...).
Tengo otras bases de datos para cada año (una para cada año ), las llamo DatContaXX donde XX son los dos últimos dígitos del año, en esta base de datos están clientes, plancontable, diario..., en esta base de datos todas las tablas tienen un campo CodEmp (Código de Empresa) y una clase Empresa en la aplicación de la que obtengo siempre la empresa que está activa en cada momento.
El access no es un sistema Cliente/Servidor como puede ser SQL-Server, sino solo Servidor de ficheros, el problema le va a tener sobre todo cuando trabajes en red. En teoría Access funciona bien hasta con 20 clientes.
Trabajando en red, para la introducción de datos no vas a tener ningún problema, el problema viene cuando tienes que extraer listados (imagínate que todos los clientes se ponen a calcular un balance de situación entre fechas).
Yo utilizo el siguiente sistema:
Creo una base TmpDatos en cada ordenador cliente, y vuelco en ella los datos que necesita el programa para extraer el listado, supongamos que un cliente necesita extraer un balance de situación hasta el segundo trimertre del año, entonces yo vuelco desde el servidor (DatContaXX) a mi base de datos TmpDat el mayor de esa empresa entre esas fechas y ya en modo local realizo los cálculos que necesito, de esta forma sólo tengo ocupado el servidor unos segundos, y si todos los clientes necesitan extraer listados complicados la red no se satura.
En cuanto a la capacidad e Access, Access 97 admite hasta 1 Gb y Access 2000 hasta 2 GB, en el caso de la gestoría de la que te he hablado, las 100 empresas llegan a ocupar un máximo de 60 Mb de espacio en disco..
En cuanto a los cierres de mes yo los hago de trimestres y anuales.
Supongo que lo de cierre de mes se referirá al apunte de amortizaciones mensuales, porque no conozco otro proceso que se tenga que hacer mensualmente (yo eso no lo considero un cierre, sino simplemente un apunte de amortización).
Trimestralmente yo hago asientos de regularización de Iva
Y Anualmente Asientos de regularización de Iva, pérdidas y ganancias..., vamos, el cierre de año.
Con el cierre de año doy opción de crear la nueva apertura, entonces cojo la base de datos del año en curso y la duplico a DatConta(XX+1) y borro todo lo que no necesito, diario del año anterior, facturas del año anterior... y creo el asiento de apertura, actualizo saldos en plan contable..., amortizaciones...
Todo este tema puede ser muy extenso, si necesitas ayuda pregunta más veces.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas