Validation rules reference
Validation rule severity is configurable per customer. Your administrator can override the default severity for any rule, and integrations can add their own rules on top of these. The behavior you see may differ from the defaults described here.
This page is the reference for the system validation rules that ship with Mod AI. Three rules run on every invoice today.
For practical guidance on adjusting these rules to match your tolerance, see Configuring rule severity.
Rule: Duplicate Invoice detection
| Rule ID | duplicate_invoice |
| Applies to | Standard invoices and prepaid invoices |
| Default severity | error (blocking) |
| Notice | Duplicate Invoice |
What it checks
Mod AI looks for invoices that share both:
- The same invoice number.
- The same primary vendor.
When both match an existing invoice, the rule fires.
What you see
The Duplicate Invoice notice appears on the new invoice with a confidence score, the match type, and a link to the suspected duplicate. The recommended action is to compare the two invoices and either dismiss the notice (legitimate similar invoices) or void the duplicate.
Rule: Duplicate Credit Memo detection
| Rule ID | duplicate_credit_memo |
| Applies to | Credit memo documents |
| Default severity | error (blocking) |
| Notice | Duplicate Credit Memo |
What it checks
The same logic as duplicate invoice detection, but for credit memo documents. It checks for matches on credit memo number plus vendor.
What you see
The Duplicate Credit Memo notice shows the suspected duplicate. The recommended action is to compare the two credit memos and either dismiss or void.
Rule: Line-item three-way match
| Rule ID | line_item_three_way_match |
| Applies to | Standard invoices |
| Default severity | warning (non-blocking) |
| Notice | Surfaces as part of a validation failure when severity is set to error |
What it checks
For each invoice line item, the rule verifies:
- The line references a PO line item.
- The unit price on the invoice matches the unit price on the PO line (within tolerance).
- The quantity on the invoice matches the quantity received on the receipt (within tolerance).
The default tolerance is 5%. Variances above tolerance fail the check.
What you see
By default, this rule generates a warning. Warnings surface as notices on the invoice but do not block it. If your admin has overridden the severity to error, three-way match failures block the invoice with a validation failure notice.
Other notices that come from validation
The processing error notice is not a rule per se, but a system-generated notice when the agent fails to extract the document. It surfaces through the same validation flow.
The price change detected notice surfaces when an invoice line's unit price differs significantly from the last approved invoice for the same vendor and item. Significant deviations on incoming invoices trip this notice.
See Tenant validation for integration-specific checks.
You cannot author new system rules
System rules are platform-defined. There is no UI today to add new rules. If your company has a check that is not covered, the path forward is one of:
- Encode the pattern in your Agent instructions so the agent surfaces the issue in the AI Summary or extracts a flag field.
- Configure a validation hook for your integration (engineering work, requires a Mod AI engineer).
- Adjust an existing rule's severity to match your tolerance. See Configuring rule severity.