Cita: Se me había ocurrido eso, lo veis factible?
Esto es un problema estandarizado, que por mas vueltas que le des, tiene una estructura de resolución mas o menos fija.
Lo primero que debes diferenciar es lo que es un "Pedido", de lo que es una "Factura".
Pedido es lo que emite el usuario o cliente, es decir, la lista de cosas que desea comprar y que se le entreguen. En este sentido, puede que se le fcturen (si hay existencias) o puede que no.
Normalmente esta lista tiene uso administrativo interno, y a pesar de parecerse a una factura en su estructura, no es lo mismo.
Un pedido tendría:
Cita: PEDIDO( pedido_id, pedido_fecha, pedido_cliente_id)
DETALLE_PEDIDO(pedido_id, subitem_id, articulo_id, cantidad_art, estado)
El campo pedido_id en la segunda tabla es FK de Pedido, pero la PK de esta segunda tabla está compuesto de dos campos: el pedido_id y el subitem_id (este numerado de 1...n según sea la cantidad de items comprados).
La factura, por su parte podría referir a un único pedido (si fueran más, el esquema cambia), y requiere:
Cita: FACTURA(factura_id, factura_fecha, factura_cliente, factura_pedido_id, factura_formapago, factura_descuentos, ...)
DETALLE_FACTURA(factura_Id, subitem_factura, articulo_id, cantidad, ...)
Aquí no pongo ni la tabla clientes, ni la deformas de pago, ni la de caja, ni tampoco stock, listas de precios, productos, ni ninguna otra.
Sólo estoy poniendo lo más básico, y como verás, no alcanza con dos tablas...
Este diagrama de tablas te puede dar una idea de por donde va la cosa:
Y vuelvo a aclarar: Ese es un esquema bien básico, teórico. La realidad, es decir, un sistema que realmente funcione comercialmente, es todavía mucho más complejo.