Pregunta

Si las facturas se pueden anular, en caso de ser utilizados como citas?

Tengo una Invoices tablas que se crean a partir de inventario asociado con un Job o Order. Podría tener una tabla Quotes como una casa a mitad de camino entre el inventario y facturas, pero se siente como si hubiera estructuras de datos duplicados y la lógica sólo para manejar un "¿Es esta una cita?" bits.

Desde un punto de vista comercial, citas son diferente de facturas: una cita se envía antes de una empresa y se envía una factura, una vez que se haya completado y el pago se debe, pero la manera de representar esto en mi repositorio y modelo.

  • ¿Qué es una manera elegante para almacenar y gestionar citas y facturas en una base de datos?

Editar:. Job indicada === Order para este caso particular

¿Fue útil?

Solución

Hay 3 enfoques:

  1. Tienda facturas y cotizaciones en tablas separadas.

    Este es un buen diseño si las facturas y cotizaciones tienen pocos campos en duplicado (de lo contrario, utilice la opción # 3 con 3 mesas), y si hay un 1-muchos o muchos-muchos relación entre ellos (por 1-1, el uso opcion 2).

    Esta es también una opción buena si es común que "comparte" la información entre los dos en realidad puede mutar cuando la cita se convierte en la factura (aunque algunas de estas mutaciones deben ser adecuadamente manejados con campos / cuadros distintos, tales como descuentos aplicados, etc ...).

    Una ligera variación de esta opción es necesario, obviamente, hacerse cuando múltiples citas se convierten en una sola (o varios) facturas. Esto añade una tercera mesa, que es una asignación entre un conjunto de citas y una factura (o conjunto de facturas si consigue que complicó) para ellos.

  2. almacenarlos en la misma mesa, con la bandera extra "factura o cotización" y todos los campos adicionales, tanto de almacenado. Esto se puede hacer ya sea con facturas y cotizaciones en filas distintas, o con ellos compartiendo filas (con la bandera que tiene "tanto" valor demasiado).

    Esta última (la misma fila puede ser a la vez la factura y presupuesto) es una buena opción si se asignan 1 a 1 , y hay pocos campos que distinguen a los dos.

    Las antiguas (filas separadas para facturas y cotizaciones) no es un buen diseño puede variar en general y mejor hecho con el # 3 o # 1 opciones.

  3. Tienes 3 tablas, una para los campos comunes entre los dos, y dos para la factura de sólo y cita solamente.

    Esta es una buena opción si las facturas y cotizaciones se asignan 1-1, o si son 1-muchos, pero cada una de las muchas facturas tiene exactamente los mismos valores de campo para cualquier campos son comunes. De lo contrario, utilice # 1.

    Una ligera variación de esta opción se puede hacer cuando múltiples citas se convierten en una sola factura. Esto añade una cuarta mesa, que es una asignación entre un conjunto de frases y un incoice (o conjunto de facturas que si se pone complicado) para ellos. Una vez más, el supuesto aquí es que hay una parte considerable de información común entre todos los presupuestos y facturas enlazadas / combinados juntos, de lo contrario sólo tiene que ir con # 1.

Otros consejos

Cotizaciones son más análogas a las órdenes. He visto varios sistemas de distribución / venta al por menor con una tabla de orden que tiene un indicador booleano llamado algo así como IsQuote. Esto puede parecer simple, ya que hace que sea trivial para encender una cita en una orden. Nunca me ha gustado mucho porque las órdenes que salen de las cotizaciones se no siempre es exactamente como se cita. Como resultado, los sistemas como los de información perder que puede ser de alguna utilidad (es decir, un informe que compara ofertas en pedidos). Por lo tanto, prefiero sistemas en los que las tablas de cotización y orden son casi lo mismo, pero por separado. En los sistemas de distribución de esto a menudo conduce a las tablas como OrderHeader, OrderLine (relación con el tema de mesa / inventario), y QuoteHeader QuoteLine. Usted también puede tener una tabla para modelar una relación en la que una cita se puede asignar a varios pedidos.

Las facturas resultan generalmente de pedidos. A veces más de un pedido será facturado en una sola factura. Por ejemplo, hay casos en los que he visto empresas factura mensual a sus clientes buenas. También he visto que funcione a la inversa, donde un gran pedido con múltiples envíos se factura en varias facturas (una para cada envío).

Por último, los pagos por lo general tienen una relación muchos a muchos con la factura. A veces un solo pago cubre varias facturas. A veces una factura se paga en un par de pagos.

[solo producto, y servicios ignorados, por simplicidad.]

ventas cotización es un propuesta para vender un bien para un precio en una ventana de tiempo (intervalo de tiempo) a otra parte. Este activo no tiene por qué existe todavía. Se podría citar en la especificación del activo (el bueno).

Una cita debe expirar en algún momento, y puede o no puede ser aceptado antes de su vencimiento.

orden de venta es un compromiso para vender un bien para un precio en una fecha a otra parte. Puede ser creado a partir de un presupuesto aceptado.

Para una cita o puede tener condiciones de pago, tales como "usted puede pagar 30 días después del parto".

Una orden puede ser para un bien que aún no existe (se vende el bien, no el activo). Tal vez usted está construyendo él. Tal vez usted va a comprar a otra persona.

Un pedido de cliente lleva a la adquisiciones (toma de inventario, fabricación o compra) de un activo físico, y luego la envío del activo físico, que puede ser o puede no terminar en una entrega. A veces, el cliente "llamará" en el proveedor para la recolección del activo.

En términos generales, un activo tiene que ser transferido antes de poder contar con la línea de orden como los ingresos (esto depende de sus condiciones de embarque, podrían correr el envío o la entrega o en el medio).

pedido de cliente A puede ser cancelado (por ejemplo, algunas industrias han de reflexión períodos).

factura de venta es un solicitud de pago para los productos ordenados. Puede suceder antes del parto, en el parto o después del parto, o no ocurrir realmente en absoluto (por ejemplo, si en la cola de McDonalds). Una orden puede tener una o más facturas, y una factura puede ser por varias órdenes.

una factura de esperar que conduce a uno o más pagos , que son aplican a un cuenta . Un pago a menudo conduce a una o más recibos de pago . Un pago no es necesariamente lo mismo que los ingresos, si se utiliza la contabilidad de ejercicio.

Yo recomendaría ser lo más flexible posible. Use las siguientes tablas

Mesa de Trabajo, Factura Tabla, Tabla Cita

En su tabla de facturas y la cita de la tabla, almacenar el ID de trabajo, le dan un índice y crear una restricción de clave externa. Deje el índice agrupado en la Cita ID y el ID de factura.

En el último sistema trabajé en la única diferencia entre las cotizaciones y facturas (en términos de la db) era una bandera en la tabla que indica si el presupuesto que había sido aceptado por el cliente (momento en el que otra declaración se generó con la misma información, excepto que era una factura en lugar de una cita)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top