djJoe:
Ok amigo, muito obrigado pela atenção, acho que me expressei mal, pois o problema não é na implementação do código nem na lógica, mas o que eu não tô conseguindo entender é como um caixa pode ficar negativo se ele representa o que você tem em mãos, ex:
Tenho R$ 10,00 em caixa, aí tenho que pagar R$ 50,00 para um fornecedor de acordo com o cliente o caixa teria que ficar com R$ -40,00. Mas como vou pagar 50 se só tenho 10. Entendeu minha dúvida?
Bom, então a pergunta não deveria ser feita a nós, mas, ao cliente.
Quem entende das peculiaridades do negócio (regras de negócio) é o cliente. É ele que deseja que o caixa permita coisas (absurdas) como esta.
Por isso questionei a respeito de legislação.
Por outro lado, você está cometendo um erro (mesmo estando certo sobre o questionamento). Afinal, a responsabilidade de saber como o fornecedor será pago, mesmo que o caixa só disponha de R$ 10 é única e exclusiva do cliente.
Digo que está certo no questionamento por que eu também o faria.
Mas, como eu te disse, converse com o cliente, peça detalhes, peça para ele simular uma situação. Coloque as suas dúvidas e peça para ele responder. Levantar corretamente os requisitos é uma boa parte do desenvolvimento total de um sistema. O resto é uma boa análise, design e codificação.