Weight Ticket Data Extraction

Capture the operational fields behind every load—not just the three printed weights—and send clean records to your ERP or transport system.

Weight Ticket Data Extraction workflow mapping printed ticket fields to structured JSON

Manual Entry Loses More Than Time

A weight ticket connects a physical load to a business transaction. Ticket number, vehicle registration, customer, supplier, job, material, timestamps, fees, and weights may all be required downstream. Keying only net weight leaves reconciliation gaps; keying the entire ticket is slow and introduces transcription errors, especially when staff handle photographed, faded, or multilingual slips from multiple locations.

Extract a Complete Operational Record

StructOCR returns nested JSON for facility, parties, job, vehicle, material, weights, timestamps, fees, and validation. Missing text remains null rather than being guessed. Use weighbridge slip to JSON conversion to feed a database or queue, then use the response schema to map only the fields your workflow needs.

Live Demo: Weighbridge Ticket OCR Scanner

No registration required. Upload a file to test the extraction.

1
Upload
2
Results

Drop files here or click to browse

JPG · PNG · WebP  ·  up to 500 files · max 4.5 MB each

No files selected
Need more testing? Create a free account to get 200 free credits (equals 100 Weighbridge Ticket scans).

Practical Workflows

ERP Intake

Create a draft receipt, shipment, or material movement from the extracted ticket record.

Fleet Reconciliation

Join vehicle and trailer registrations to dispatch and delivery records.

Material Reporting

Aggregate material codes and normalized net weight across sites.

Document Backlogs

Process scanned tickets into reviewable structured records instead of spreadsheets.

Technical Specs

  • Endpoint: POST /v1/weighbridge-ticket
  • Authentication: x-api-key request header
  • Input: Base64 or data URI in JSON; JPG, PNG, WebP, or PDF
  • Maximum decoded size: 4.5MB
  • Cost: 2 credits per successful request
  • Output: Structured JSON with deterministic weight validation

Key Features

  • Operational hierarchy: Keeps facility, parties, job, vehicle, material, weight, and fee data grouped.
  • Null-safe output: Missing or unreadable fields return null instead of invented content.
  • Raw value preservation: Retains printed weight strings for audit and troubleshooting.
  • Validation metadata: Separates extraction from deterministic calculation checks.

Send a Ticket to the OCR API

The REST endpoint accepts one Base64-encoded JPG, PNG, WebP, or PDF in the JSON img property. Allow a 60-second client timeout and inspect the validation object before accepting a record.

PYTHON EXAMPLE
import base64
import requests

with open("weighbridge-ticket.jpg", "rb") as file:
    image = base64.b64encode(file.read()).decode("ascii")

response = requests.post(
    "https://api.structocr.com/v1/weighbridge-ticket",
    headers={"x-api-key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={"img": image},
    timeout=60,
)
response.raise_for_status()
result = response.json()
data = result["data"]

print("facility:", data["facility"])
print("parties:", data["parties"])
print("job:", data["job"])
print("vehicle:", data["vehicle"])
print("material:", data["material"])
print("weights:", data["weights"])

Validated JSON Response

A successful response contains extracted evidence and a separate validation decision for downstream automation.

{
  "success": true,
  "data": {
    "is_weighbridge_ticket": true,
    "document_type": "generic_weighbridge_ticket",
    "ticket_number": "1042",
    "facility": {
      "name": "North Yard Scale",
      "address": null,
      "scale_id": "SCALE-2"
    },
    "parties": {
      "supplier": null,
      "customer": "Example Customer"
    },
    "job": {
      "job_number": "JOB-88",
      "order_number": null
    },
    "vehicle": {
      "registration": "AB12 CDE",
      "trailer_registration": null,
      "fleet_number": null,
      "driver_name": null
    },
    "material": {
      "description": "Recycled aggregate",
      "code": "RA20"
    },
    "weights": {
      "gross": {
        "value": 25330,
        "unit": "kg",
        "raw": "25,330 kg",
        "normalized_kg": 25330
      },
      "tare": {
        "value": 6770,
        "unit": "kg",
        "raw": "6,770 kg",
        "normalized_kg": 6770
      },
      "net": {
        "value": 18560,
        "unit": "kg",
        "raw": "18,560 kg",
        "normalized_kg": 18560
      }
    },
    "confidence": "high",
    "is_valid": true,
    "validation": {
      "calculated_net_kg": 18560,
      "difference_kg": 0,
      "weight_check_passed": true,
      "needs_review": false,
      "review_reasons": []
    }
  }
}

Frequently Asked Questions

Which fields can be extracted from a weight ticket?

The schema covers ticket, facility, supplier, customer, job, order, vehicle, trailer, fleet, driver, material, gross, tare, net, timestamps, fee, operator, notes, confidence, and validation.

What happens when a field is not printed?

It returns null. StructOCR does not infer a customer, vehicle, material, or weight value that is not visible on the document.

Which files can I submit?

The endpoint accepts Base64-encoded JPG, PNG, WebP, and PDF content up to 4.5MB. Public URLs and multipart uploads are not currently accepted by the REST endpoint.

How much does one successful request cost?

A successful weighbridge ticket extraction costs 2 credits. New accounts receive 200 free credits, enough for up to 100 initial scans.

When is it safe to accept a ticket automatically?

Define the rule in your own workflow. A conservative starting point is to require is_weighbridge_ticket and is_valid to be true, confidence to meet your threshold, and validation.needs_review to be false. Keep a human review route for all other results.

Should I use the REST API or an SDK?

Use the REST API from any backend that can send Base64 JSON. The official Python and Node.js SDKs are convenient when you want local file validation, Base64 encoding, and consistent request handling without writing that plumbing yourself.

Explore More Weighbridge Ticket OCR Solutions

Technical Comparisons & Integrations

Explore platform integrations and competitive analysis

From tutorial to production in 5 minutes.

You've seen the code. Now get your API key, grab your 200 free credits, and see it work with your own images. No credit card required.

Instant Access Cancel Anytime 99.9% Uptime