انتقل إلى المحتوى الرئيسي

Credit limit enforcement

The Credit limit enforcement framework governs how the system evaluates and restricts financial exposure during the processing of transactional documents. It provides a robust, policy-driven mechanism to prevent excessive credit extension to customers (Accounts Receivable) and limits liability accumulation with vendors (Accounts Payable).

Prerequisites

Prior to establishing credit limit enforcement, ensure that the foundational master data and module parameters are fully configured:

  • Customers and Vendors must have their respective Credit limit values assigned.
  • The global Credit limit type and Credit limit message type must be configured in Accounts receivable parameters and Accounts payable parameters.

Supported documents and processes

The system currently enforces credit limit validations during the financial posting lifecycle of the following documents:

  • Sales invoices: Checked automatically during the posting sequence.
  • Free text invoices: Checked automatically during the posting sequence.
  • Purchase invoices: Checked automatically during the posting sequence.

Resolution hierarchy (Evaluation logic)

During transaction processing, the credit limit service evaluates the entity's exposure using a strict, three-tier resolution algorithm. This ensures that granular, entity-specific overrides take precedence over global module policies.

The evaluation sequence proceeds as follows:

  1. Unlimited credit override: The system first checks the specific Customer or Vendor record for the Has unlimited credit limit flag. If this is enabled, the entity is explicitly exempt, and all further credit limit checks are bypassed unconditionally.

  2. Global policy evaluation: If the entity does not have unlimited credit, the system evaluates the Credit limit type defined in the respective module parameters (AR or AP).

    • None: Credit limits are generally disabled for the module.
    • Balance: The system calculates the entity's projected exposure (Current Balance + Invoice Amount) against their defined Credit limit.
  3. Mandatory enforcement (Entity-level): If the global policy is set to None, the system performs a final check against the specific Customer or Vendor record for the Mandatory credit limit flag. If this is enabled, the system strictly enforces the credit limit check for this specific entity, overriding the global "None" policy.

Enforcement outcomes

If the evaluation engine determines that the projected balance breaches the entity's assigned credit limit, the system dictates the outcome based on the Credit limit message type configured in the module parameters.

  • Error: This is a hard stop. The posting operation is immediately aborted, preventing any financial ledgers from being updated. The transactional document (e.g., Sales Invoice) is safely reverted to the Open state, and a CreditLimitExceededException is raised to the user interface.
  • Warning: This is a soft stop. The posting operation is allowed to proceed and the financial ledgers are updated. However, the system logs the breach and dispatches a systemic notification (via the System Notification framework) to the user who initiated the posting, alerting them that the transaction caused the entity to exceed their defined credit limit.

To configure global credit limit policies:

  • Accounts Receivable: Navigate to Accounts receivable > Setup > Accounts receivable parameters.
  • Accounts Payable: Navigate to Accounts payable > Setup > Accounts payable parameters.

To configure entity-specific overrides and limits:

  • Customers: Navigate to Accounts receivable > Customers > All customers.
  • Vendors: Navigate to Accounts payable > Vendors > All vendors.