Algumas coisas:
-
Normalize o status da fatura para ser sua própria tabela de pesquisa e, em seguida, coloque um ID de status na tabela de fatura em vez de 'Enviado', 'Cancelado' etc.
-
Definitivamente, mantenha o valor da fatura. Isso pode ter que ser diferente do valor do preço em tbl_order.total se você precisar levar em conta os descontos. De qualquer forma, os dados numéricos são baratos de armazenar e serão mais rápidos de consultar se você não precisar fazer nenhuma junção.
-
Dê à tabela Pagamentos sua própria coluna de ID e torne-a o PK.
-
O resto parece ok. Há um caso de ter duas tabelas, uma para pagamentos de saída e outra para pagamentos de entrada. Se você realmente só precisa manter as informações de quantidade e data, então não acho que você precise complicar mais.
Obrigado, Cris.