News: Avesta Labs has become a Select Services Partner in the Claude Partner Network. Read the announcement

Case study · Vehicle import and logistics · Client anonymous

Bills of Lading, freight bills and invoices, checked by AI, not by eye.

  • 5 document jobs
  • 3 teams
  • 1 system

Operations, logistics and finance opened documents one at a time, retyped them into spreadsheets, and checked them by eye. We built one system that reads the documents, runs each team's checks, flags what looks wrong, and produces the file they already use.

The problem
Documents retyped by hand and checked by eye.
What we built
One system that reads, checks and flags the exceptions.
The outcome
All 5 jobs demonstrated, from upload to finished file.
Status
Not live yet. No measured results so far.
Book an AI Kickoff

Different paperwork. Same problem.

  • Typing up documents
  • Comparing documents
  • Checking bills
  • Typing it twice
  • Email attachments

If your team opens a document, types it into a spreadsheet, and checks it by reading it back, this is the same job.

Before automation

Important checks depended on someone remembering to do them

Three teams, different documents, the same pattern.

Documents arrived by email, shared folder, memory stick and by hand. The tools were a PDF reader, spreadsheets, the annual tariff and two finance templates.

The shared problemSlow reviews, the same details typed again and again, avoidable mistakes, and no easy way to trace a number back to its document.

What was at stake

Small mistakes, real costs.

Any one mistake was small. Left uncaught, it could hold up a shipment or cost money.

These are risks the old process left open, not incidents that happened. No incident, penalty or backlog is on record.

One approach, reused

Documents go in once. Only the exceptions come back to the team.

Staff send documents in once. The system does the reading and checking. People only look at what it flags.

  1. Step 1

    Send them in

    Staff upload a batch of documents, or the system picks the attachment up from an email.

  2. Step 2

    Read them

    The system works out what each document is and pulls out the details that job needs.

  3. Step 3

    Apply the checks

    Rules check VINs, compare records against each other, and test charges against the annual tariff.

  4. Step 4

    Mark the exceptions

    Anything missing, anything that disagrees, and anything the system was unsure about is flagged clearly.

  5. Step 5

    Produce the file

    A structured spreadsheet is generated and sent to the people who need it.

One system, five jobsEach job runs the same five steps on its own.
  • Bills of Lading
  • Comparing documents
  • Freight bills
  • Supplier bills
  • Email attachments

The outcome

All five jobs work end to end. Built so people review exceptions, not retype.

Five separate manual tasks replaced by one shared way of reading, checking and producing files.

What we demonstrated

  • All five jobs ran from start to finish.
  • Documents could be uploaded through the browser.
  • Reading and comparison produced structured results.
  • Each job generated the spreadsheet it needed.
  • Finished files could be sent out by email automatically.

What it means for the teams

  • Retyping is replaced by reviewing what gets flagged.
  • VIN, tariff and cross document checks run the same way every time.
  • Finance fills two templates from one reading.
  • A number can be traced back to its document.
  • The same approach can extend to other teams with heavy paperwork.

Evidence note: Everything above was observed in demonstration. It is not a measured business result, and no accuracy figure is claimed. The estimates below are estimates.

Estimated, not measured

What we expect it to save, once it is running.

Worked out from the manual steps being replaced. They show the size of the opportunity, not a result.

  • Estimated

    Up to 90% faster document processing

    Documents go in as a batch instead of one at a time.

  • Estimated

    Up to 75% fewer manual entry errors

    Each value is read once and reused, not retyped.

  • Estimated

    Up to 70% fewer comparison errors and rework

    Differences show up in one view, before they delay clearance.

  • Estimated

    Up to 85% faster tariff checking

    Bill lines are matched to the tariff automatically.

None of these has been measured. Confirming them needs the client's own minutes per document, volumes, correction rates and turnaround times.

The five jobs

Each job in detail.

Job 01 of 05

01

Bill of Lading extraction

Operations

The problem
Bill of Lading details were typed out by hand from scanned PDFs, and both the VIN and its length were checked by reading them on screen.
How it was solved
The whole batch is read in one go and every VIN is checked for exactly 17 characters. Anything short or hard to read is flagged for a person, with the original alongside.
What comes out
A spreadsheet of the details, each row linked to its source document, with a flag on every row that needs attention.
Spreadsheet output, delivered by email

A VIN, the vehicle identification number, is always exactly 17 characters. If one is missing, the paperwork is wrong and the vehicle can be held at the port.

Document portal / Bills of LadingSample data

Bill of Lading extraction

Read a batch of scanned Bills of Lading, pull out the fields, and check every VIN.

New batch
  1. 1Upload
  2. 2Reading
  3. 3Results

9

Documents read

6

Valid VINs

1

Trimmed to 17

1

Short VINs

1

Needs review

Export spreadsheetEmail reportNine documents read. Six of the rows shown.
VIN, as readLengthResultBL numberModelYear
ZZ1TESTAA0K441023317ValidCorrectBL-0000118Model A2026
ZZ1TESTAA0K441030917ValidCorrectBL-0000118Model A2026
ZZ1TESTAA0K44102316ShortOne character short. Original kept.BL-0000119Model B2026
ZZ1TESTAA0K441047118CheckSpace on the end. Removed, then correct.BL-0000119Model B2026
ZZ1TESTAA0K44l053917CheckRight length, one character unclear. Sent to a person.BL-0000120Model A2025
ZZ1TESTAA0K441051517ValidCorrectBL-0000120Model A2025
The point is the last two rows. The right length does not always mean the right answer, so anything the system was unsure about still goes to a person.

Job 02 of 05

02

Comparing documents against each other

Logistics

The problem
Teams compared the Bill of Lading, the commercial invoice, the packing list and the certificate of origin side by side, by eye.
How it was solved
The same fields are pulled from every document into one table, so differences show up on their own.
What comes out
A comparison file showing matches, missing fields and disagreements.
Review led by the exceptions
Document portal / Comparing documentsSample data

Shipment comparison

Pull the same fields out of every document for one shipment and put them side by side.

New comparison
  1. 1Upload
  2. 2Read
  3. 3Group
  4. 4Report
Export spreadsheetEmail report
FieldBill of LadingCommercial invoicePacking listCertificate of originResult
Reference numberREF-4471REF-4471REF-4471REF-4471Match
Shipment numberSHP-9920Not foundNot foundNot foundMissing
Tax numberTN-0021807TN-0021807TN-0021807TN-0021807Match
BuyerSample Buyer LtdSample Buyer LtdSample Buyer LtdSample Buyer CoDisagrees
SellerSample Seller FZESample Seller FZESample Seller FZESample Seller FZEMatch
CurrencyUSDUSDNot foundNot foundMissing
Amount117,000.00117,600.00Not foundNot foundDisagrees
Quantity6 units668Disagrees
Eight fields, four documents. Three disagree and two are missing somewhere, and those five are what the logistics team looks at. The other three need nobody.

Job 03 of 05

03

Checking freight bills

Logistics

The problem
Every line on the freight carrier's bill had to be checked by hand against the annual tariff.
How it was solved
The tariff is loaded once. Every bill line is matched against it, and wrong rates or unknown services are flagged.
What comes out
A report of agreed rate, charged rate and the difference, line by line.
Billing problems found sooner
Document portal / Freight billsSample data

Freight bill check

Match every line on a freight bill against the annual tariff.

New check
  1. 1Upload
  2. 2Read
  3. 3Check
  4. 4Results

8

Lines checked

4

Correct

4

Charged too much

0

Service not recognised

+8.18

Difference

Export spreadsheetEmail reportEight lines checked. Six of them shown.

Bill BILL-0019809

ServiceQtyChargedAgreedCharged totalExpectedDifferenceResult
Inspection, 24 minutesQuality inspection, per unit222.4721.4044.9442.80+2.14Too much
Parts removal and fitting, 10 minutes per vehicleParts removal and fitting, per unit65.785.5034.6533.00+1.65Too much
Parts transport, yard to supplierParts transport, per trip410.019.5340.0338.12+1.91Too much
Vehicle movement for fitting, 15 minutesVehicle movement, per vehicle68.668.2551.9849.50+2.48Too much
Storage, per dayStorage, per vehicle per day34.204.2012.6012.600.00Correct
Handling, per unitHandling and stacking, per unit215.0015.0030.0030.000.00Correct
Four lines charged above the agreed tariff rate, by 8.18 in total. None of the four is large on its own, which is exactly why they used to get through.

Job 04 of 05

04

One bill, two finance files

Finance

The problem
Supplier bills arrived in different layouts, and the same details were entered into two separate templates.
How it was solved
The bill is read once and both the finance system's import file and the payment voucher are filled in from it.
What comes out
Two consistent spreadsheets from one reading.
One reading, two finished files
Document portal / Supplier billsSample data

Supplier bill extraction

Read the bill once, then fill in both the finance system import file and the payment voucher.

Start over

2

Bills read

2

Succeeded

0

Failed

5

Lines

Finance import filePayment voucherEmail report
DateBillDescriptionAmountTaxDebitCredit
INV-202612020Sample Advisory3 Mar 20266,265.00
3/3/2026INV-202612020Advisory work, phase 1, first instalment2,100.000.002,100.000.00
3/3/2026INV-202612020Advisory work, phase 1 review, first instalment2,100.000.002,100.000.00
3/3/2026INV-202612020Advisory work, phase 2, first instalment2,065.000.002,065.000.00
INV-202612038Sample Advisory30 Apr 202613,800.00
30/4/2026INV-202612038Advisory work, phase 1, final instalment9,900.000.009,900.000.00
30/4/2026INV-202612038Advisory work, phase 1 review, final instalment3,900.000.003,900.000.00
Two bills, five lines, one reading. The same rows fill the finance system import file and the payment voucher, which is the step that used to be done twice.

Job 05 of 05

05

Email attachment intake

All teams

The problem
Attachments had to be collected, unlocked, renamed and filed before document processing could begin.
How it was solved
The system takes the attachment, unlocks it where allowed, names it from what is inside, and files it.
What comes out
Consistently named files, ready for whichever job needs them next.
Intake and filing, handled for you
Document portal / Email attachmentsSample data

Email attachment intake

Take the email, unlock the attachment where that is allowed, and name the file from what is inside it.

Email file

Drop an email containing a locked bill. The system unlocks it, reads the fields, and renames it.

FW_ Credit advice dated 11 Jun 2026, bank ref AE1234567.eml

35.3 KB

Unlock and rename

  1. Reading the email

    Sample Sender <sender@example.com>

  2. Finding the attachment

    credit-advice-8f2a.pdf

  3. Unlocking it

    Unlocked. 1,656 characters read.

  4. Pulling out the fields

    20260611 · REF0000112233 · SAMPLE TRADING

  5. Renaming the file

    20260611-REF0000112233-SAMPLE_TRADING.pdf

  6. Saving it

    Saved and available in the portal

Renamed and unlocked

Source
Operations
Date
11 Jun 2026
Reference
REF0000112233
Payer
Sample Trading
Filename
20260611-REF0000112233-SAMPLE_TRADING.pdf
DownloadOpen in portal
The file arrives called whatever the sender called it and leaves named from its own contents, so the next job can find it without anybody renaming anything.

What made it hard

Reading the document was the easy part.

A right answer means five different things

Pulling text off a scan is old technology. The hard part is that each job has its own idea of a right answer.

  • A VIN that is exactly 17 characters.
  • The same value appearing on all four shipment documents.
  • A charge that matches the annual tariff.
  • One supplier bill mapped correctly into two different finance templates.
  • An attachment pulled out of an email, unlocked, and named from what is inside it.

And the documents do not cooperate

Scans of mixed quality, different layouts, stamps, handwriting, and the same detail under a different label from one document to the next.

The version that looks fine in a demonstration

A drop box and a results table is easy to build, and it breaks in daily use. Nothing records what was processed, failed files go unnoticed, nobody sees what the software struggled to read, and nobody can say where a number came from.

Because it uses their own checks and their own output files, they could judge it on their own paperwork, not on a staged demo.

What comes next

Ready to make document work faster and more reliable?

Tell us where your team spends hours retyping and checking documents. We will help you find the one job worth automating first.

Book an AI Kickoff

Or email hello@avestalabs.ai