Skip to main content
Where to find it: Dashboard → Finance → Invoices Review what carriers bill against what you agreed to pay, then approve or dispute.
The Invoices page in the Owlery dashboard

The review workflow

Tabs follow the payment stages. Start your day on Needs Review, sorted by payment due date. The number badge on each tab shows how many invoices are currently in that state.

Reading the comparison

  • Awarded is what you agreed to pay; Actual is what the carrier billed.
  • Difference is color-coded — green if billed under, red if over.
  • Line items show exactly where charges diverged.
  • Loads shows which loads the invoice covers. One load can appear on multiple invoices, and one invoice can cover multiple loads.

Approve or dispute

  • Approve with an optional label and reason for your records.
  • Dispute with a label and reason — the carrier gets a daily digest of what was sent back, and both the label and reason are visible to them in their invoice view.
  • Select multiple rows to approve in bulk.

What carriers see when you dispute

When you dispute an invoice, the label and reason you enter are shared directly with the carrier in three places:
  • The Dispute Label and Dispute Reason columns in their invoice table.
  • A red “Why this invoice is disputed” alert at the top of the invoice detail drawer.
  • The History tab of the invoice drawer, which shows the full status-change timeline.
Carriers can’t see internal fields like tags, GL codes, auto-batch status, accounting sync records, or who on your team took each action.

Who receives invoice emails

Automated invoice emails go only to contacts configured for that workflow. Adding someone as an Owlery user does not automatically subscribe them to invoice emails.

Set up carrier contacts

  1. Go to Dashboard → Master Data → Contacts.
  2. Click Add Contact, enter the carrier contact’s email, and confirm the carrier relationship shown.
  3. Choose Account Manager for dispute digests, Accounting for dispute digests and payment remittances, or add both roles from the contact’s Roles cell after creating the contact.
  4. To send dispute digests, go to Dashboard → Shipper Settings → Freight Audit and Pay, open Disputed Invoice Digest, and turn it on.
Payment remittances do not have a separate email toggle. Owlery sends them to the carrier’s Accounting contacts after the carrier payment clears.

Set up payment statement contacts

  1. Go to Dashboard → Shipper Settings → Contacts.
  2. Open Payment Statement Contact, click Manage, and add each recipient.
  3. Leave Payment statement notifications by GL code off for every contact to receive every statement. To route statements by GL code, turn it on, assign GL codes to each contact, and click Save. A contact with no GL code is the fallback for statements with no matching route.

Split payment statements by GL code

When you select invoices and click Pay Now, turn on Separate statements by GL code to create a separate payment statement and CSV for each complete GL-code set. For example, invoices assigned to one code, a different code, both codes, and no GL code become four separate statements.
Separate statements by GL code controls which invoices belong to each statement and CSV. Payment statement notifications by GL code only routes each already-created statement to the matching contacts. Each recipient receives the complete CSV for that GL-split statement.
In the current invoice review and payment workflow, Logistics Contact does not receive these emails. Owlery also does not send a contact-role email when an invoice first enters Needs Review or moves to Approved; use those tabs to monitor those stages.

Automating decisions

Invoice Auto Decision Rules can approve, dispute, or hold invoices based on the awarded rate, POD, ERP rate, and order link. You can set defaults for all carriers and replace either rule for a specific carrier. See Invoice Auto Decision Rules to configure thresholds, checks, and carrier overrides.

When a carrier resubmits an invoice

Carriers can correct and resubmit an invoice as long as it’s still in Needs Review or Disputing. Once an invoice moves to Approved, Payment Created, or Paid, it’s locked — the carrier can’t overwrite it, and they’ll need to contact you to move it back before they can resubmit. Resubmissions arrive through the same channel the carrier used originally — EDI 210, the external API, CSV upload, or an edit to a manually created invoice in Owlery — and are matched to the existing invoice by invoice number. When a resubmission comes in on an unlocked invoice:
  1. The existing invoice is replaced in place. Line items, totals, load numbers, invoice date, party info, and reference numbers are all updated. The invoice number and payment status stay the same, so a disputed invoice remains on the Disputing tab.
  2. Auto-Decision Rules re-run immediately against the updated data. If the correction fixes the issue (e.g., the total now falls within your threshold, or a missing POD is now on file), the invoice can auto-approve or land back in Needs Review within seconds.
  3. Exceptions refresh. Price variance, missing POD, and ERP mismatch flags are recomputed.
  4. You’re notified. Webhooks fire and the invoice reappears in your workflow with its new values.
Auto-Decision Rules only re-evaluate invoices that were auto-disputed. If someone on your team manually disputed an invoice, a carrier resubmission updates the invoice data but leaves it in Disputing for you to review — the system won’t override a human decision.

Finding paid vs. disputed invoices

  • Paid invoices: Open the Paid tab. Payment Created shows invoices where payment is in flight but not yet cleared.
  • Disputed invoices: Open the Disputing tab. Click any row to see the dispute label, reason, and full history in the drawer.