# InvoiceToleranceConfig

## Description

InvoiceToleranceConfig records one supplier-specific invoice tolerance configuration used during AP document registration. Each row is scoped to one company and one supplier SupplierAccount pair and relaxes the unit price and quantity variance checks that drive SYSTEM payment holds. Tolerance fields are optional: a null or omitted field means strict matching for that field, while an absolute or percentage value widens the accepted variance before a SYSTEM hold is planned.

## Domain Model Definitions

### Model type

Standard

### Command Definitions

- [createInvoiceToleranceConfig](../command/CreateInvoiceToleranceConfig.md) - Create a supplier-specific invoice tolerance configuration
- [updateInvoiceToleranceConfig](../command/UpdateInvoiceToleranceConfig.md) - Update an existing invoice tolerance configuration

### Query Definitions

- None

### Models

- InvoiceToleranceConfig

### Invariants

- Each InvoiceToleranceConfig row belongs to one company and one supplier SupplierAccount
- There can be at most one row for each company and supplier pair
- Tolerance values must be non-negative when provided
- A null or omitted tolerance field means strict matching for that field
- Tolerance is resolved during AP document registration by the AP document companyId and supplierAccountId

### Relationships

- **References Company**: Each config is scoped to a Company via companyId
- **References SupplierAccount**: Each config references the supplier SupplierAccount via supplierAccountId
