Straight Figures Apply

QuickBooks Desktop, answered

On-time delivery report from QuickBooks

QuickBooks Desktop cannot tell you whether a delivery was on time, because it does not know when the truck arrived. It has the invoice date and the ship date on the invoice. The delivery record is in your routing app, or on the driver’s sheet. The report exists once the two sit in the same database.

What we do about it

We take your data out of QuickBooks as reports, put it in a database, and connect it to your Claude or ChatGPT. QuickBooks stays as it is.

The first step is small on purpose. We model one year of your sales data and get on a live call where you ask and your own numbers answer. You give us the three questions you most want answered, and we get you those answers or figure out how we can deliver them. You keep the database, connected to your Claude or ChatGPT.

The first step is $950, credited in full toward your setup if you go ahead. If you don’t, we delete the project and your data doesn’t stay with us. If it earns its place, we keep it current every week and send the reports you pick.

Nothing we build can write to your books.

ApplyEleven quick questions to see if we’re a good fit.

What QuickBooks has

An invoice date, a ship date if someone fills it in, and the credit memos that come back when a delivery went wrong. No promised date, no delivered date, no driver. Sales by Customer Detail will tell you what went out and when it was billed. It will not tell you whether it got there on the day.

Where the delivery record is

If you run a routing app, it keeps a log: one row per stop, the promised window, the time the driver marked it delivered, the driver’s name. Every one of them exports that log to a file. If you do not run one, the record is the driver’s sheet, and the report starts the week someone types it in.

The log carries the invoice number. That is the join. Put the export next to the QuickBooks invoices and credit memos and on-time rate is a question by driver, by customer, by yard, or by month, and the damage claims sit on the same row.

Three questions from a fictional company

The routing app’s log joined to the invoices and credit memos. The third question is the kind a database answers with a no.

For example

Which driver has the damage claims, and what’s his on-time rate?

The routing app’s delivery log, one row per delivered invoice, joined to the credit memos in QuickBooks marked as damaged returns:

Cody BrandvoldCody Brandvold: 76%76%Jon PeltierJon Peltier: 91%91%Rick AaltoRick Aalto: 90%90%Tom SandovalTom Sandoval: 88%88%Marta OkaforMarta Okafor: 89%89%
DriverDeliveriesOn timeDamage claims
Cody Brandvold82376%8
Jon Peltier1,15791%5
Rick Aalto1,11190%4
Tom Sandoval45688%3
Marta Okafor22289%0

Cody Brandvold has the most damage claims, 8, and the worst on-time rate, 76%. The delivery log is the routing app’s export. The damage claims are credit memos in QuickBooks. Nobody had put the two files side by side.

How that was computed
select driver,
       count(*) as deliveries,
       round(100.0 * avg(on_time)) as on_time_pct,
       sum(damage_flag) as damage_claims
from v_deliveries
where on_time is not null
group by driver
order by damage_claims desc, on_time_pct

For example

Which builder gets the worst delivery service?

Builders only, deliveries since January 2025:

Halvard Custom HomesHalvard Custom Homes: 75%75%Kestrel Ridge HomesKestrel Ridge Homes: 89%89%Bergstrom Construction GroupBergstrom Construction Group: 91%91%Norlund HomesNorlund Homes: 91%91%Stonebeck HomesStonebeck Homes: 91%91%Voss Custom HomesVoss Custom Homes: 100%100%
BuilderDeliveries since Jan 2025On time
Halvard Custom Homes5675%
Kestrel Ridge Homes10189%
Bergstrom Construction Group6791%
Norlund Homes13591%
Stonebeck Homes5491%
Voss Custom Homes16100%

Halvard Custom Homes, an account growing fast this year, gets the worst on-time rate at 75%. The driver from the question above moved to that yard in January 2025.

How that was computed
select customer,
       count(*) as deliveries,
       round(100.0 * avg(on_time)) as on_time_pct
from v_deliveries
where customer_type = 'Builder' and year in ('2025', '2026') and on_time is not null
group by customer
order by on_time_pct

For example

Did late deliveries have anything to do with the accounts we lost in 2025?

Three accounts that stopped ordering in 2025, and their delivery record year by year:

Granite Shore Building SupplyGranite Shore Building Supply 2023: 82%2023Granite Shore Building Supply 2024: 95%2024Granite Shore Building Supply 2025: 89%2025Marsh Lake Home CenterMarsh Lake Home Center 2023: 85%2023Marsh Lake Home Center 2024: 87%2024Marsh Lake Home Center 2025: 83%2025Voss Custom HomesVoss Custom Homes 2023: 96%2023Voss Custom Homes 2024: 96%2024Voss Custom Homes 2025: 100%2025
CustomerYearDeliveriesOn time
Granite Shore Building Supply20232882%
Granite Shore Building Supply20242195%
Granite Shore Building Supply2025989%
Marsh Lake Home Center20235385%
Marsh Lake Home Center20246387%
Marsh Lake Home Center2025683%
Voss Custom Homes20234696%
Voss Custom Homes20245496%
Voss Custom Homes202516100%

No. Their deliveries were fine right up to the end. All three sat in one rep’s book, and she left that year. A database rules a theory out as fast as it confirms one.

How that was computed
select customer, substr(invoice_date, 1, 4) as year,
       count(*) as deliveries,
       round(100.0 * avg(on_time)) as on_time_pct
from v_deliveries
where customer in ('Marsh Lake Home Center', 'Granite Shore Building Supply', 'Voss Custom Homes')
  and on_time is not null
group by customer, year
order by customer, year

Northgale Building Products is a fictional company. Every name, figure and supplier on this page is made up, built to behave like a real three-and-a-half-year QuickBooks Desktop file so we can show real screens without showing anyone’s real numbers. Data as of the 2026-07-27 refresh; the last invoice in the file is dated 2026-07-24.

Short answers

  • Does QuickBooks Desktop have an on-time delivery report?No. It has no delivered date and no promised date. The delivery record is in the routing app or on paper.
  • Which routing apps does this work with?Any that exports its delivery log to a file. The export needs the invoice number or the customer and date on each row.
  • How current is the delivery data?As of the weekly refresh. The routing export comes in with the QuickBooks reports, once a week.

Related questions