1. Pull the shipment list. From the TMS, the 3PL portal, or the carrier API. Whatever shipped during the period.
2. Pull the invoice list. Carrier invoices that have already landed in AP.
3. Identify the uninvoiced shipments. Anti-join: shipments without a matching invoice.
4. Pull the rate card. Your contracted rate per carrier, service, and zone.
5. Calculate the expected charge. Apply the right rate to each uninvoiced shipment.
6. Roll up by carrier and category. Total accrual amount, journal-entry-ready output.