# Reporting invoice exceptions in QuickBooks Enterprise

> QuickBooks Enterprise has no built-in exception report for contract violations. Here is what its reports actually show, and where the gap sits.

Source: https://valuexpa.com/insights/how-do-you-report-on-invoice-exceptions-in-quickbooks
Publisher: ValueXPA (https://valuexpa.com)
Updated: 2026-10-22

---

Margin drift is the gap between what a vendor contract says and what the invoice actually charges. QuickBooks Enterprise has no report that shows that gap, because it has nowhere to store the contract term the invoice is supposed to match against.

This page covers what QuickBooks Enterprise reporting actually gives an AP team hunting for billing exceptions, and where a manual step has to pick up the part the software never sees.

## Executive Summary

QuickBooks Enterprise reports on what was entered: bills, payments, vendor balances, and variance against a purchase order when one exists. It cannot report on whether a rate matches a contract, because contract terms such as rate cards, volume tiers, and surcharge schedules live outside the system, usually as PDFs in a shared drive. An "exception report" inside QuickBooks Enterprise is really a set of transaction reports the AP team has to interpret against documents the software never opens.

The practical path is to use QuickBooks Enterprise's own reports for what they are built for: catching duplicate vendor entries, PO quantity mismatches, and unusual payment timing. Then run a separate, periodic check of invoice line items against the actual contract terms, since no report inside the ERP performs that comparison.

Where the vendor list is short, a spreadsheet built against the rate card can carry this check. Where invoice volume outgrows a spreadsheet, or the manual check keeps slipping past month-end, that is the point to bring in a fixed-scope diagnostic rather than build the matching logic from scratch inside QuickBooks Enterprise.

## 1. What does QuickBooks Enterprise mean by an invoice exception?

**Inside QuickBooks Enterprise, an exception is a mismatch between two documents already in the system: a bill that does not match its linked purchase order in quantity or price, or a bill entered twice against the same vendor and amount. Both checks compare transactions the software itself created. Neither checks the bill against a contract term, because the contract itself is never entered as a record QuickBooks Enterprise can query.**

The three-way match feature, where enabled, compares the bill to the PO and to the receipt of goods or services. It flags a quantity or price difference between those three documents. That is a real control, and it catches a real category of error.

But three-way matching tests internal consistency, not contractual accuracy. If a rate card sets a price of $42 per unit and the PO was cut, in error, at $46, three-way matching confirms the bill matches the PO. It passes clean. The exception is invisible to the system because the wrong number was the input, not the output.

The same limit applies to a surcharge with an expiration date, a volume tier that should have dropped the unit price after a threshold, or a rebate clause. None of these live inside a PO. QuickBooks Enterprise has no field for them, so it has no report that can flag their violation.

## 2. Which QuickBooks Enterprise reports come closest to exception reporting?

**Four native reports get an AP team partway there: Open Purchase Orders, Bills by Vendor, the Vendor Balance Detail, and the Audit Trail. Together they surface timing gaps, duplicate-looking entries, and unmatched purchase orders. None of them read a rate card or a contract, so all four still require someone to check the resulting numbers against the outside document by hand.**

The Open Purchase Orders report shows POs still awaiting a bill, useful for spotting goods received but never invoiced, or invoiced without a matching PO at all.

Bills by Vendor, sorted and filtered by date range, is where a duplicate payment usually surfaces: two bills, same vendor, same amount, close together in time. QuickBooks Enterprise will not flag this for you. A human has to scan the list.

The Audit Trail records every edit to a transaction, which matters when a bill amount changed after entry. It shows that a change happened, not whether the new number is correct against a contract.

Vendor Balance Detail is useful mainly for reconciling what is owed against what a vendor's own statement claims, a separate and narrower check than contract compliance.

- **Open Purchase Orders:** Surfaces goods or services received without a matching bill, or bills without a PO.

- **Bills by Vendor:** The report to scan manually for duplicate amounts and vendor names entered inconsistently.

- **Audit Trail:** Shows that a transaction was edited after entry, not whether the edit was correct.

- **Vendor Balance Detail:** Reconciles what QuickBooks Enterprise shows is owed against the vendor's own statement.

## 3. Why can't a QuickBooks Enterprise report check a rate card automatically?

**A report can only summarize data already stored in the system's tables. QuickBooks Enterprise has tables for vendors, items, POs, and bills, but no table for a contract's rate card, volume tier, or surcharge schedule. Building a report that checks a bill against a rate would require first building somewhere to put the rate, and QuickBooks Enterprise was not designed with that structure.**

A rate card usually spans multiple SKUs or service lines, each with conditions: a base rate, a minimum volume, a tier that steps the price down above a threshold, an accessorial charge that only applies under certain conditions. Representing that correctly needs a structure closer to a rules table than a general ledger item list.

Some teams try to approximate this by entering a rate into the "cost" field on an item record. That works for a single flat rate. It breaks as soon as the contract has a tier, an expiration date on a surcharge, or a rebate that only trues up quarterly, because the item record has one number, not a set of conditions.

This is why the gap is structural, not a matter of turning on a feature QuickBooks Enterprise already has. See [build vs. buy: can you do contract-to-invoice matching in Excel?](/insights/build-vs-buy-can-you-do-contract-to-invoice-matching-in) for the same limit, worked through in spreadsheet form instead.

## 4. What should an AP team check manually that QuickBooks Enterprise will not catch?

**Four checks sit outside any native report: whether a rate on the invoice matches the current rate card, whether a volume tier should have triggered a lower price, whether a surcharge that was justified once is still being applied after its condition ended, and whether an earned rebate was actually credited. Each requires opening the contract document alongside the QuickBooks Enterprise bill and comparing them line by line.**

A rate check compares the unit price on the invoice line to the rate card's current, in-force number for that SKU or service. A rate card revision that lowered a price six months ago is only caught if someone rechecks invoices against the current version, not the version on file when the vendor was first set up.

A volume tier check requires totaling spend against the vendor over the contract's measurement period and confirming the invoice reflects the tier that total should trigger.

A surcharge persistence check looks for a surcharge, such as a fuel or material surcharge, that was valid when a market condition applied and has continued on invoices after that condition ended.

A rebate check confirms a rebate the contract promises at a volume threshold was actually issued as a credit, not just theoretically owed.

## 5. Can a spreadsheet carry this instead of a bigger system?

**A spreadsheet can carry contract-to-invoice matching where the vendor count and invoice volume are small enough for someone to maintain the rate card by hand and rerun the comparison every cycle. It stops working the same way any manual process stops working at scale: someone has to remember to update it, and the check gets skipped when the month gets busy.**

The mechanics are simple to describe. Export bills by vendor from QuickBooks Enterprise, hold a parallel sheet of current rate card terms, and match line items each billing cycle. This is a real control and it works as long as someone owns it consistently.

The failure mode is not technical, it is operational. Rate cards get renegotiated and the spreadsheet is not updated. A new AP hire does not know the check exists. The comparison gets skipped during a close crunch and nobody notices until a pattern has run for months.

For the full breakdown of where a spreadsheet approach holds up and where it does not, see [build vs. buy: can you do contract-to-invoice matching in Excel?](/insights/build-vs-buy-can-you-do-contract-to-invoice-matching-in). For the decision between fixing this with a one-time review versus software, see [diagnostic or software: what to buy first](/insights/diagnostic-or-software-what-to-buy-first).

## 6. How do the freight, labor, and MRO categories differ inside QuickBooks Enterprise reporting?

**QuickBooks Enterprise reports the same way regardless of vendor category: bills, POs, and payments. What differs is the contract structure sitting outside the system for each category, which changes what a manual check has to look for. Freight contracts carry accessorial and fuel surcharge tables, labor contracts carry not-to-exceed caps and rate escalation clauses, and MRO contracts carry catalog pricing with volume-tier discounts.**

A freight or 3PL invoice needs its accessorial charges and fuel surcharge checked against the carrier's own published tariff, since QuickBooks Enterprise records the invoice total but not the surcharge's justification.

A contract labor invoice needs its billed hours and rate checked against a not-to-exceed cap and any escalation clause, since an NTE overrun is invisible unless someone tracks cumulative billing against the cap across the engagement, not just per invoice.

An MRO or Class C consumables invoice needs its unit price checked against catalog pricing and any volume-tier discount the contract promises once cumulative purchases cross a threshold.

Each category's controls, worked through for QuickBooks Enterprise specifically, are covered in [Freight and 3PL Controls in QuickBooks Enterprise](/insights/freight-and-3pl-controls-in-quickbooks-enterprise), [Contract labor and staffing Controls in QuickBooks Enterprise](/insights/contract-labor-and-staffing-controls-in-quickbooks), and [MRO and Class C consumables Controls in QuickBooks Enterprise](/insights/mro-and-class-c-consumables-controls-in-quickbooks).

For the wider pattern this sits inside, start with the [margin drift](/insights/best-invoice-validation-software-smb) guide. See also [the six categories drift hides in](/insights/indirect-spend-audit-categories) and [what is margin erosion? causes and prevention for manufacturers](/insights/what-is-margin-erosion-causes-and-prevention-for).

## 7. Frequently Asked Questions (People Also Ask)

### Does QuickBooks Enterprise have a built-in duplicate payment report?

Not a dedicated one. Bills by Vendor, filtered by vendor and date range, is the closest native view, and it requires a person to scan for two bills at the same amount close together in time. QuickBooks Enterprise does not flag the match itself.

### Can three-way matching in QuickBooks Enterprise catch a contract violation?

Three-way matching compares the bill, the PO, and the receipt for internal consistency. It confirms a bill matches its own PO, not that the PO price matches the contract's rate card. A PO cut at the wrong price passes three-way matching cleanly.

### Where do rate cards and contract terms get stored if not in QuickBooks Enterprise?

Typically as PDFs or spreadsheets outside the ERP, on a shared drive or in a procurement team's files. QuickBooks Enterprise has no table designed to hold a rate card's conditions, tiers, or surcharge schedules, so this storage happens elsewhere by default.

### Is there a QuickBooks Enterprise add-on that does contract compliance checking?

This page covers what QuickBooks Enterprise's own native reports provide, which is transaction-level reporting, not contract matching. Evaluating third-party add-ons is outside its scope; the structural gap described here exists regardless of which add-on ecosystem a team considers.

### How often should a manual rate card check run against QuickBooks Enterprise bills?

This page does not state a frequency, since no dataset supports a specific cadence recommendation. The check needs to run often enough that a rate card revision or an expired surcharge is caught before it compounds across multiple billing cycles.

### What is the difference between a QuickBooks Enterprise exception and a margin drift finding?

A QuickBooks Enterprise exception is a mismatch between two transactions already in the system, such as a bill and its PO. A margin drift finding is a mismatch between an invoice and a contract term that QuickBooks Enterprise never stores, such as a rate card price or a volume tier.

### Can the Audit Trail report show a contract compliance issue?

The Audit Trail shows that a transaction was edited after entry and by whom. It does not evaluate whether the edited amount, or the original amount, matches a contract term, since it has no contract data to compare against.

### Does a not-to-exceed cap show up anywhere in QuickBooks Enterprise?

Not automatically. An NTE cap is a cumulative limit across an engagement, and QuickBooks Enterprise reports per-transaction, not against a running total tied to a contract clause. Tracking an NTE cap requires a separate running total maintained outside the system.

### What is the fastest way to find out how much this gap has already cost?

A fixed-scope diagnostic reviews service vendor invoices against contract terms directly and quantifies what has already leaked, typically delivering a prioritized recovery and prevention roadmap in 2 to 4 weeks, across ValueXPA diagnostics.

### Is contract complexity quietly draining your operating margin?

A small systematic drift between your negotiated contracts and your actual vendor billing compounds quietly across a year of invoices. Stop guessing at your exposure and run a targeted audit.

**[Take the Free Screener → https://valuexpa.com/margin-drift-screener](https://valuexpa.com/margin-drift-screener)**

## Executive Summary

QuickBooks Enterprise reports on what was entered: bills, payments, vendor balances, and variance against a purchase order when one exists. It cannot report on whether a rate matches a contract, because contract terms such as rate cards, volume tiers, and surcharge schedules live outside the system, usually as PDFs in a shared drive. An "exception report" inside QuickBooks Enterprise is really a set of transaction reports the AP team has to interpret against documents the software never opens. The practical path is to use QuickBooks Enterprise's own reports for what they are built for: catching duplicate vendor entries, PO quantity mismatches, and unusual payment timing. Then run a separate, periodic check of invoice line items against the actual contract terms, since no report inside the ERP performs that comparison. Where the vendor list is short, a spreadsheet built against the rate card can carry this check. Where invoice volume outgrows a spreadsheet, or the manual check keeps slipping past month-end, that is the point to bring in a fixed-scope diagnostic rather than build the matching logic from scratch inside QuickBooks Enterprise.

## 1. What does QuickBooks Enterprise mean by an invoice exception?

Inside QuickBooks Enterprise, an exception is a mismatch between two documents already in the system: a bill that does not match its linked purchase order in quantity or price, or a bill entered twice against the same vendor and amount. Both checks compare transactions the software itself created. Neither checks the bill against a contract term, because the contract itself is never entered as a record QuickBooks Enterprise can query. The three-way match feature, where enabled, compares the bill to the PO and to the receipt of goods or services. It flags a quantity or price difference between those three documents. That is a real control, and it catches a real category of error. But three-way matching tests internal consistency, not contractual accuracy. If a rate card sets a price of $42 per unit and the PO was cut, in error, at $46, three-way matching confirms the bill matches the PO. It passes clean. The exception is invisible to the system because the wrong number was the input, not the output. The same limit applies to a surcharge with an expiration date, a volume tier that should have dropped the unit price after a threshold, or a rebate clause. None of these live inside a PO. QuickBooks Enterprise has no field for them, so it has no report that can flag their violation.

## 2. Which QuickBooks Enterprise reports come closest to exception reporting?

Four native reports get an AP team partway there: Open Purchase Orders, Bills by Vendor, the Vendor Balance Detail, and the Audit Trail. Together they surface timing gaps, duplicate-looking entries, and unmatched purchase orders. None of them read a rate card or a contract, so all four still require someone to check the resulting numbers against the outside document by hand. The Open Purchase Orders report shows POs still awaiting a bill, useful for spotting goods received but never invoiced, or invoiced without a matching PO at all. Bills by Vendor, sorted and filtered by date range, is where a duplicate payment usually surfaces: two bills, same vendor, same amount, close together in time. QuickBooks Enterprise will not flag this for you. A human has to scan the list. The Audit Trail records every edit to a transaction, which matters when a bill amount changed after entry. It shows that a change happened, not whether the new number is correct against a contract. Vendor Balance Detail is useful mainly for reconciling what is owed against what a vendor's own statement claims, a separate and narrower check than contract compliance. - Open Purchase Orders: Surfaces goods or services received without a matching bill, or bills without a PO. - Bills by Vendor: The report to scan manually for duplicate amounts and vendor names entered inconsistently. - Audit Trail: Shows that a transaction was edited after entry, not whether the edit was correct. - Vendor Balance Detail: Reconciles what QuickBooks Enterprise shows is owed against the vendor's own statement.

## 3. Why can't a QuickBooks Enterprise report check a rate card automatically?

A report can only summarize data already stored in the system's tables. QuickBooks Enterprise has tables for vendors, items, POs, and bills, but no table for a contract's rate card, volume tier, or surcharge schedule. Building a report that checks a bill against a rate would require first building somewhere to put the rate, and QuickBooks Enterprise was not designed with that structure. A rate card usually spans multiple SKUs or service lines, each with conditions: a base rate, a minimum volume, a tier that steps the price down above a threshold, an accessorial charge that only applies under certain conditions. Representing that correctly needs a structure closer to a rules table than a general ledger item list. Some teams try to approximate this by entering a rate into the "cost" field on an item record. That works for a single flat rate. It breaks as soon as the contract has a tier, an expiration date on a surcharge, or a rebate that only trues up quarterly, because the item record has one number, not a set of conditions. This is why the gap is structural, not a matter of turning on a feature QuickBooks Enterprise already has. See [build vs. buy: can you do contract-to-invoice matching in Excel?](/insights/build-vs-buy-can-you-do-contract-to-invoice-matching-in) for the same limit, worked through in spreadsheet form instead.

## 4. What should an AP team check manually that QuickBooks Enterprise will not catch?

Four checks sit outside any native report: whether a rate on the invoice matches the current rate card, whether a volume tier should have triggered a lower price, whether a surcharge that was justified once is still being applied after its condition ended, and whether an earned rebate was actually credited. Each requires opening the contract document alongside the QuickBooks Enterprise bill and comparing them line by line. A rate check compares the unit price on the invoice line to the rate card's current, in-force number for that SKU or service. A rate card revision that lowered a price six months ago is only caught if someone rechecks invoices against the current version, not the version on file when the vendor was first set up. A volume tier check requires totaling spend against the vendor over the contract's measurement period and confirming the invoice reflects the tier that total should trigger. A surcharge persistence check looks for a surcharge, such as a fuel or material surcharge, that was valid when a market condition applied and has continued on invoices after that condition ended. A rebate check confirms a rebate the contract promises at a volume threshold was actually issued as a credit, not just theoretically owed.

## 5. Can a spreadsheet carry this instead of a bigger system?

A spreadsheet can carry contract-to-invoice matching where the vendor count and invoice volume are small enough for someone to maintain the rate card by hand and rerun the comparison every cycle. It stops working the same way any manual process stops working at scale: someone has to remember to update it, and the check gets skipped when the month gets busy. The mechanics are simple to describe. Export bills by vendor from QuickBooks Enterprise, hold a parallel sheet of current rate card terms, and match line items each billing cycle. This is a real control and it works as long as someone owns it consistently. The failure mode is not technical, it is operational. Rate cards get renegotiated and the spreadsheet is not updated. A new AP hire does not know the check exists. The comparison gets skipped during a close crunch and nobody notices until a pattern has run for months. For the full breakdown of where a spreadsheet approach holds up and where it does not, see [build vs. buy: can you do contract-to-invoice matching in Excel?](/insights/build-vs-buy-can-you-do-contract-to-invoice-matching-in). For the decision between fixing this with a one-time review versus software, see [diagnostic or software: what to buy first](/insights/diagnostic-or-software-what-to-buy-first).

## 6. How do the freight, labor, and MRO categories differ inside QuickBooks Enterprise reporting?

QuickBooks Enterprise reports the same way regardless of vendor category: bills, POs, and payments. What differs is the contract structure sitting outside the system for each category, which changes what a manual check has to look for. Freight contracts carry accessorial and fuel surcharge tables, labor contracts carry not-to-exceed caps and rate escalation clauses, and MRO contracts carry catalog pricing with volume-tier discounts. A freight or 3PL invoice needs its accessorial charges and fuel surcharge checked against the carrier's own published tariff, since QuickBooks Enterprise records the invoice total but not the surcharge's justification. A contract labor invoice needs its billed hours and rate checked against a not-to-exceed cap and any escalation clause, since an NTE overrun is invisible unless someone tracks cumulative billing against the cap across the engagement, not just per invoice. An MRO or Class C consumables invoice needs its unit price checked against catalog pricing and any volume-tier discount the contract promises once cumulative purchases cross a threshold. Each category's controls, worked through for QuickBooks Enterprise specifically, are covered in [Freight and 3PL Controls in QuickBooks Enterprise](/insights/freight-and-3pl-controls-in-quickbooks-enterprise), [Contract labor and staffing Controls in QuickBooks Enterprise](/insights/contract-labor-and-staffing-controls-in-quickbooks), and [MRO and Class C consumables Controls in QuickBooks Enterprise](/insights/mro-and-class-c-consumables-controls-in-quickbooks). For the wider pattern this sits inside, start with the [margin drift](/insights/best-invoice-validation-software-smb) guide. See also [the six categories drift hides in](/insights/indirect-spend-audit-categories) and [what is margin erosion? causes and prevention for manufacturers](/insights/what-is-margin-erosion-causes-and-prevention-for).

## Common questions

### Does QuickBooks Enterprise have a built-in duplicate payment report?

Not a dedicated one. Bills by Vendor, filtered by vendor and date range, is the closest native view, and it requires a person to scan for two bills at the same amount close together in time. QuickBooks Enterprise does not flag the match itself.

### Can three-way matching in QuickBooks Enterprise catch a contract violation?

Three-way matching compares the bill, the PO, and the receipt for internal consistency. It confirms a bill matches its own PO, not that the PO price matches the contract's rate card. A PO cut at the wrong price passes three-way matching cleanly.

### Where do rate cards and contract terms get stored if not in QuickBooks Enterprise?

Typically as PDFs or spreadsheets outside the ERP, on a shared drive or in a procurement team's files. QuickBooks Enterprise has no table designed to hold a rate card's conditions, tiers, or surcharge schedules, so this storage happens elsewhere by default.

### Is there a QuickBooks Enterprise add-on that does contract compliance checking?

This page covers what QuickBooks Enterprise's own native reports provide, which is transaction-level reporting, not contract matching. Evaluating third-party add-ons is outside its scope; the structural gap described here exists regardless of which add-on ecosystem a team considers.

### How often should a manual rate card check run against QuickBooks Enterprise bills?

This page does not state a frequency, since no dataset supports a specific cadence recommendation. The check needs to run often enough that a rate card revision or an expired surcharge is caught before it compounds across multiple billing cycles.

---

ValueXPA runs a fixed-scope Margin Drift Diagnostic that validates every service vendor invoice against contract terms, for $100M+ US industrial manufacturers and distributors. Two to four weeks. The client retains 100% of recoveries. https://valuexpa.com/contact-us
