Dúvida modelagem movimentação de estoque

Olá a todos, a partir de hoje vou passar a dar manutenção em um sistema de almoxarifado desenvolvido por um colega que foi desligado da empresa.
Neste sistema tenho uma tabela chamada “COMPRAS” e uma outra tabela chamada de “REQUISIÇÕES”, e toda vez que acontece uma compra ou requisição, também é adicionado uma linha na tabela “MOVIMENTOS”, nesta tabela movimentos tenho um campo que guarda a chave tanto para uma compra ou para uma requisição e outro campo que guarda o tipo de operação: entrada ou saída, por exemplo no dia 06/10/2016 realizei uma requisição no valor de R$ 10,00 e uma compra no valor de R$ 36,00:

<table>
<tr>
<th>movimento_id</th>
<th>com_req_id</th>
<th>tipo_movimento</th>
<th>material_id</th>
<th>valor_unitario</th>
<th>valor_total</th>
<th>data</th>
</tr>
<tr>
<td>1</td>
<td>50</td>
<td>ENTRADA</td>
<td>67</td>
<td>2.50</td>
<td>10</td>
<td>06/10/2016</td>
</tr>
<tr>
<td>2</td>
<td>15</td>
<td>SAIDA</td>
<td>48</td>
<td>12</td>
<td>36</td>
<td>06/10/2016</td>
</tr>
</table>

este tipo de modelagem segue as boas práticas de modelagem de dados? fere alguma regra de modelagem ou pode me trazer problemas? é comum modelar dessa forma, utilizando uma coluna tanto para um tipo de transação ou outra e outra coluna para especificar o tipo da transação?