We use a simple rule: if a customer keeps turning around invoices in under a week, their credit line steps up; if they start drifting past the three-week mark, it ratchets back down. That gap between 7 and 21 days reliably shows how they manage cash and how seriously they take their payables. In the industrial supply world, most terms sit at net-30, so this window gives us room to reward strong liquidity without getting ahead of ourselves on risk. The whole thing runs on scheduled SQL jobs, and we track the outliers with a small rules engine we built in .NET Core.
For increases, our primary rule is regular, positive payment speed. If a client pays three invoices in a row more than five days earlier than the due date, we automatically bump their credit limit a small percentage (10% or so). Simple, observable behaviour is a stand-in for payment intent. For decreases we explicitly choose not to automate. If an invoice is at 15 days overdue, we freeze the account from any automated increases and set it aside for manual review. This works best in our B2B services vertical because it prioritises relationship stability. For trusted partners, it automates trust-funding; for everyone else it ensures we see single admin errors that shouldn't then automatically punish a good customer, singling us out for the override only where we really need it.