Hola,
Cita:
Iniciado por w0lll0w ESTADO_FACTURA
idEstadoFactura
descripcion (emitida,impagada,pagada,negativa, 'anulada' )
Cita:
Iniciado por w0lll0w mi consulta es la siguiente, es correcto actualizar el estado de la factura en la tabla factura y registrar el pago en cobros?
Cita:
Iniciado por w0lll0w puede existir la relación entre FACTURAS y ESTADO_FACTURA (muchos a muchos)???
una nueva tabla HISTORICO_FACTURAS (idHistoricoFacturas, idFacturas, idEstadoFactura, Fecha)
Cita:
Iniciado por w0lll0w me pregunto, si el cliente solicita una copia (duplicado) de una factura, ya no es igual al original en vista de que el estado fue actualizado.
Depende de la lógica que le quieras dar, si no necesitas el histórico es lógico actualizar el estado de la factura en la misma tabla, aunque los documentos físicos son inmutables. El estado de la factura en tus tablas, que es para control interno, no afecta la reimpresión del documento, puesto que eso no es relevante en el documento físico, en otras palabras, normalmente no imprimes el estado de la factura en la misma, cualquier otra modificación sería objeto de una anulación de la factura y posiblemente de la emisión de una nueva.
Cita:
Iniciado por w0lll0w solo puede existir un pago para una factura (no hay pagos en cuotas)
Eso significa que no aceptas pagos parciales, si un cliente emitió un cheque por el 90% del total por error, ¿entonces no aceptas el cheque porque no cubre la factura en su totalidad?
Cita:
Iniciado por w0lll0w o deberia de crear una nueva tabla "estado de cuenta"
y en la misma registrar: idEstadodecuenta,fechaDeCobro,Operacion(deuda,cobr o),Observacion, debito, credito,saldo,idFactura,IdUsuario
Las operaciones de estado de cuenta deberían ser independientes de los documentos emitidos, y por ese motivo aparte de la tabla facturas deberías llevar una tabla de movimientos para ese objetivo. Por ejemplo, al cliente se le emiten dos facturas por el valor de $100 cada una, si llega y paga $100, ¿acaso es importante cual de las dos facturas está cubriendo? Normalmente los pagos cubren el total de lo adeudado en la cuenta corriente.
Por ejemplo, te llegan dos facturas por servicio de luz, una del mes de Noviembre por valor de $100 y otra del mes de Diciembre por valor de $100, si pagas $100 por Diciembre, ¿acaso no te van a cortar la luz porque pagaste Diciembre, aunque todavía debas Noviembre? Igual se aplica en la mayoría de negocios.
Así que necesitas la tabla facturas, la tabla de histórico de movimientos, si ese fuera el caso y la tabla de movimientos de cuenta corriente, la tabla de pagos que tu le llamas 'cobros' posiblemente no es necesaria si tienes la cuenta corriente.
Si en algún momento necesitas saber cuanto ha cubierto el cliente por las facturas que tiene pendiente de pagar, deberías hacer un reporte con el listado de facturas emitidas, la cuenta corriente y el saldo. Y con un procedimiento adicional puedes calcular cuales facturas han sido cubiertas por el total pagado hasta la fecha, y si fuera necesario puedes dejar una anotación manual ingresada por el operador en cada movimiento de crédito con la factura cubierta.
Pero ... esa es solamente mi opinión,
Saludos,
ps:
Acá no se está tomando en cuenta el límite de crédito y el fecha de vencimiento de la factura, para lo cual tendrías que hacer cálculos o utilizar el estado de la factura, todos esos detalles depende de la implementación de la lógica de negocios real.