Check out our new module Block Outstanding.
This module is intended to avoid making sells to customers who still have overdue payments. When you add a line and/or validate a proposal, order or invoice the module will give a warning or error (configurable). The module will use the limit set in the customer outstanding limit property, if not set you can define a default value for all customers and suppliers.