How Credit Limit Enforcement Works
When a customer has a credit limit configured on their record, AccuArk's AccuArk's credit check system automatically evaluates the customer's credit standing every time an invoice is saved or submitted. This guide explains the calculation logic, the CreditCheckResult object, the difference between hard and soft enforcement behavior, the override mechanism, and how the credit summary is displayed on the invoice form.
When Credit Is Checked
The credit check runs automatically through a credit check at two key points during invoice processing:
- When an invoice is saved — The system checks whether saving the invoice with its current total would cause the customer to exceed their credit limit.
- When an invoice is submitted — The system performs the same check before advancing the invoice to its next status in the workflow.
The credit check only runs when the invoice has a customer assigned and that customer has a credit limit greater than zero. If no customer is selected, or the customer has no credit limit configured (zero or blank), the check is skipped entirely and processing continues without interruption.
The Calculation
The AccuArk's credit check system performs a series of calculations to determine whether the transaction should proceed:
Outstanding Balance
The service queries all open invoices for the customer and sums their remaining balances. An open invoice is any invoice whose status is not closed. This includes invoices in draft, pending, in-progress, awaiting approval, and all other active statuses. The outstanding balance represents the total amount the customer currently owes across all of their open invoices.
Importantly, the outstanding balance considers all open invoices for the customer across all locations, not just invoices at the current location. A customer who has open invoices at your downtown store and your warehouse both contribute to the same outstanding balance. This provides a complete picture of the customer's total exposure.
Proposed Total
The proposed total is calculated as the outstanding balance plus the current invoice's total amount. This represents what the customer's total outstanding balance would be if the current invoice were approved. The proposed total is the number that gets compared against the credit limit.
Available Credit
Available credit is calculated as the credit limit minus the outstanding balance. This represents how much additional credit the customer can use before reaching their limit. If the available credit is greater than or equal to the current invoice total, the transaction can proceed without any credit issues.
Over Limit Amount
If the proposed total exceeds the credit limit, the over limit amount is calculated as the proposed total minus the credit limit. This tells the user exactly how much the transaction would exceed the customer's allowed credit.
The CreditCheckResult
After performing the calculation, the service returns a CreditCheckResult object containing two key properties:
- Allowed — A boolean indicating whether the transaction can proceed. When hard enforcement is active and the limit would be exceeded, this is false. In all other cases (limit not exceeded, soft enforcement, or no limit configured), this is true.
- WarningMessage — A human-readable string explaining the credit situation. This message is displayed to the user and contains the specific dollar amounts involved so the user understands the exact financial context.
Hard Enforcement Behavior
When a customer has Enforce Credit Limit enabled and the proposed total exceeds the credit limit, the CreditCheckResult returns Allowed = false. The system blocks the save or submit operation and displays an error message to the user.
The error message includes the customer's credit limit, their current outstanding balance, and their available credit. For example: "Customer has exceeded their credit limit of $5,000.00. Outstanding balance: $4,200.00. Available credit: $800.00. This invoice total of $1,500.00 would put the customer $700.00 over their limit."
The invoice remains in its current state and cannot advance until one of the following occurs:
- The invoice total is reduced to fit within the available credit.
- Payments are recorded against the customer's other open invoices to reduce the outstanding balance.
- A user with the INV_OVERRIDE_CREDIT permission overrides the block.
The Override Option
When a hard limit block is triggered, users who hold the INV_OVERRIDE_CREDIT permission see an additional override button alongside the error message. Clicking the override button allows the transaction to proceed despite exceeding the credit limit.
The override is a one-time approval for the specific transaction. It does not change the customer's credit limit or enforcement settings. Future invoices for the same customer will still be checked against the same credit limit, and if they also exceed the limit, another override will be required.
Override actions are logged in the system's audit trail, providing visibility into who authorized the exception and when it occurred.
Soft Enforcement Behavior
When a customer has a credit limit configured but Enforce Credit Limit is not enabled, the system uses soft enforcement. If the proposed total exceeds the credit limit, the CreditCheckResult returns Allowed = true but includes a WarningMessage.
The warning message explains the credit situation and asks the user to confirm that they want to proceed. For example: "Warning: This invoice would put the customer over their credit limit of $5,000.00. Outstanding balance: $4,200.00. Current invoice: $1,500.00. Proposed total: $5,700.00. Do you want to continue?"
The user can acknowledge the warning and proceed with the transaction, or they can cancel and adjust the invoice. No special permission is required to proceed past a soft warning — any user can acknowledge it.
Soft enforcement provides awareness without restriction. It ensures that staff know the customer's credit position before committing to a new order, even if the business policy does not require a hard block.
Credit Summary on the Invoice Form
When a customer with a configured credit limit is selected on the invoice form, a credit summary panel displays the customer's current credit standing. The summary shows four values:
- Credit Limit — The configured maximum outstanding balance.
- Outstanding Balance — The current total of all open invoice balances.
- Available Credit — How much room remains before the limit is reached.
- Open Invoice Count — The number of invoices contributing to the outstanding balance.
This summary is visible to users with the INV_VIEW_CREDIT permission. It provides proactive information before the credit check runs, allowing staff to anticipate potential issues and discuss payment options with the customer before finalizing the order.
The credit summary updates dynamically. If a payment is recorded against one of the customer's other invoices while the current invoice is open, the outstanding balance and available credit values reflect the change.
Important Notes
- Credit checks consider all open invoices for the customer, not just the current one. A customer with ten small open invoices may have less available credit than a customer with one large open invoice, even if the large invoice has a higher individual balance.
- The credit check runs against the invoice total, which includes line item amounts, taxes, and any adjustments. Deposits already collected are reflected in the invoice balance.
- Credit limits are per-customer, not per-location. A customer's outstanding balance aggregates across all locations in the system.
- If a customer's credit limit is changed while they have open invoices, the new limit takes effect immediately on the next credit check.
What to Read Next
- Setting Up Customer Credit Limits — Configure credit limits and enforcement settings on customer records.
- Multi-Location Inventory Fulfillment — Check stock availability across locations and plan transfers to fulfill orders.
- Creating Inventory Transfer Requests — Create formal requests to move inventory between locations for order fulfillment.