Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX
App templateOdooNew

Odoo ePOD & Last-Mile Dispatch – Offline Flutter Driver App with Photo, Signature, OTP & GPS Proof of Delivery, Route Optimizer and COD Settlement for Odoo 19 Community

Plan daily delivery runs, optimize the stop order, and get a complete electronic proof of delivery from an offline-first Flutter driver app: geofenced arrival, GPS and time stamp, watermarked photos, signature, customer one-time code and failure reasons. Deliveries validate automatically with backorders, and cash on delivery is settled and reconciled. Odoo Community module included.

No reviews yet0 salesby TAQNIXUpdated Oct 29, 2026

Description

Deliver. Prove. Settle.

A complete Electronic Proof of Delivery and Last-Mile Dispatch system: an Odoo module for the dispatcher and the office and an offline-first Flutter app for the drivers' Android and iPhone phones, in one package.

Driver run on the phone with stops, COD totals and progress

At the door

  • Geofenced arrival: the stop moves from En route to Arrived inside your radius, with the time and the distance
  • Multi-point proof: GPS and time stamp, watermarked photos, signature with printed name and relationship, and a one-time customer code
  • Failed deliveries with reason codes (customer not home, access restricted, damaged, refused...) and mandatory photo or note rules
  • Cash on delivery: cash, cheque, card or transfer recorded per stop
  • Works without a network: local queue, safe retries, unique operation IDs
Proof of delivery in Odoo with signature, photos, GPS and OTP result

At the office

  • Runs with drag-and-drop stops and a route optimizer (nearest neighbour and 2-opt, from the depot)
  • A successful drop validates the delivery order; a short quantity creates the backorder automatically; serial and lot numbers supported
  • Flags and to-dos for what needs a look: outside the geofence, code mismatch, cash difference, late sync
  • Driver settlement: expected against declared cash per method, tolerance, note rules, cashier and manager approval, then customer payments posted and reconciled with the open invoices
  • Printable ePOD with signature and photos, run sheet and settlement sheet, dashboard with on-time delivery
Phone proof stepper from arrival to finish

Built for trust

Proof cannot be edited. Customer codes are stored only as salted HMAC hashes and checked again by the server. Tokens are hashed, uploads are checked by content, and drivers see only their own run.

Six verification steps of a delivery

Tested

217 automated tests of the module and 356 Dart tests of the app (state machine, optimizer with exact numbers, proof, codes, partial deliveries and backorders, settlement and reconciliation, security as ordinary users, multi-company, API over HTTP, reports and jobs).

Delivery run in the Odoo back office with stop statuses

Documented

Illustrated guide in English and Arabic: install, build the app, plan runs, the driver app screen by screen, proof rules, codes, exceptions, cash and settlement, reports, roles, API and an honest list of limits, including what was not verified on a real phone.

What's in the download

The files in the archive you can download after you buy.

  • Full source code
  • Documentation
  • Installation guide
  • Automated tests
  • Licence file
  • Changelog

Customer reviews

Write a review

No reviews yet. Bought this item? Be the first to review it.

Usage

Install and use it in a few lines.

# is the server reachable?
curl https://odoo.example.com/api/v1/epod/ping
# {"ok": true, "api_version": 1, "server_time": "2026-10-28T06:00:00Z"}

# sign in (returns a token, the vehicle and the configuration)
curl -X POST https://odoo.example.com/api/v1/epod/login -H 'Content-Type: application/json' \
  -d '{"login": "omar@atlas-trading.example", "password": "...", "device": {"id": "abc", "name": "Pixel 7", "platform": "android", "app_version": "1.0.0"}}'

# today's run of the driver
curl https://odoo.example.com/api/v1/epod/manifest -H "Authorization: Bearer $TOKEN"

# complete a stop (multipart: the JSON payload and the photo files; every call has an op_uuid, repeating it is safe)
curl -X POST https://odoo.example.com/api/v1/epod/complete -H "Authorization: Bearer $TOKEN" \
  -F 'payload={"op_uuid": "5f0e2c1a-8d7b-4c10-9a55-0d6a1b2c3d4e", "local_seq": 12, "stop_id": 101, "outcome": "delivered", "completed_at": "2026-10-28T09:30:00Z",
        "location": {"lat": 25.2, "lng": 55.27, "accuracy": 7.5}, "receiver": {"name": "Sara Ali", "relationship": "self"},
        "media": [{"field": "photo_0", "kind": "doorstep"}], "signature": {"field": "signature", "strokes": 41}}' \
  -F 'photo_0=@door.webp' -F 'signature=@signature.png'

Documentation

Setup, settings and troubleshooting, written by the author.

Open the documentation

Changelog

Every release, newest first.

v1.0.0

1.0.0 – Initial release

  • Odoo module: runs (route manifests) with stops, add-deliveries and optimize wizards (nearest neighbour + 2-opt), reassign and reschedule, geofenced arrival, proof of delivery (GPS and time, photos, signature, relationship), customer codes (salted HMAC, e-mail, hook for other channels), exception reasons, automatic validation with backorders, serial and lot numbers, cash on delivery, driver settlement with payments and reconciliation, ePOD, run sheet and settlement reports, dashboard, flags and to-dos, REST API with idempotent operations, Arabic translation, 217 automated tests.
  • Flutter app source: offline database and outbox, background sync, stop stepper, camera with watermark, signature pad, deep links to Google Maps, Waze and Apple Maps.

Frequently asked questions

What do I get?

The Odoo 19 module (runs and stops, route optimizer, geofenced arrival, proof of delivery, customer codes, failure reasons, cash on delivery, driver settlement with payments, reports, the API of the app) and the Flutter source code of the offline-first driver app for Android and iOS, with documentation in English and Arabic and automated tests.

Does it need Odoo Enterprise?

No. It works on Odoo 19 Community and uses Inventory, Fleet, Invoicing and the geolocation of contacts. Maps are plain links to Google Maps or OpenStreetMap.

What proof does a delivery carry?

GPS position and time with the distance from the address and the geofence result, watermarked photos, the signature with the receiver's name and relationship, the customer's one-time code, the goods delivered per line with lots and serials, and the cash taken. It cannot be edited afterwards and prints as an ePOD PDF.

What happens when the customer takes only part of the order?

The delivery order is validated with the quantities that were really delivered and Odoo creates the backorder for the rest, with the reason and photos recorded on the stop.

Does the app work without internet?

Yes. Every action is saved on the phone and sent later in order. Each call has a unique ID, so a retry never validates a delivery twice. A delivery that happened is never refused: problems become flags for the dispatcher.

How does the customer code work?

For stops over a value you set (or flagged by the dispatcher) the server creates a 4 to 6 digit code, stores only a salted HMAC hash and e-mails the code to the customer. The phone checks it offline and the server checks it again. There is no built-in SMS channel; a hook lets a developer add one.

How is cash on delivery settled?

Collections are totalled per method for the driver and the day. The driver declares what he hands over, the cashier counts, and a manager approves: one customer payment is posted per collection and reconciled with the open invoices, oldest first.

Is it available in Arabic?

Yes. The module, the guide and the screens come in English and Arabic with right-to-left layout.

More from TAQNIX

  • App templateNew

    Taqnix POS Terminal – Offline-First Point of Sale PWA for Odoo 19: Next.js Source Code with Restaurant Tables, Kitchen Tickets, Loyalty and Arabic

    A point of sale for Odoo 19 that runs in the browser as an installable app and keeps selling when the network is gone: every order is saved on the device first and sent to Odoo once, with the same call Odoo's own POS uses. Variants and combos, split payments, receipts with barcode and QR, restaurant tables and kitchen tickets, dashboard, stock lookup, layaway, loyalty, English and Arabic. Full Next.js source code; no Odoo module to install.

    by TAQNIX
    No reviews yet
    Sales:0$399.00
  • ModuleNew

    UAE E-Invoicing (PINT AE) for Odoo 19 Community – PINT AE XML for Your ASP, Readiness Checks, UBL XSD and Schematron Validation, E-Invoice Outbox

    Prepare UAE e-invoices and credit notes in the PINT AE format (Peppol PINT AE Billing 1.0.4, UBL 2.1) for your Accredited Service Provider: TIN, TRN and tax categories, readiness checks per invoice and per batch, validation against the official XSD and Schematron, an outbox with statuses, a log and XML / ZIP export. It does not send anything. Arabic included.

    by TAQNIX
    No reviews yet
    Sales:0$149.00
  • PluginNew

    AI Support Reply Drafts for WooCommerce – Order-Aware Customer Reply Drafts with Fact Checks

    Draft replies to customer messages on the WooCommerce order screen with your AI model, from the order facts and your own shop texts only. Missing facts become [CHECK] placeholders; nothing is sent without a click and a confirmation.

    by TAQNIX
    No reviews yet
    Sales:0$49.00
  • PluginNew

    AI Product Recommender and Bundles for WooCommerce – Related Products, Complete the Look & Add All to Cart

    Related products and “complete the look” bundles ranked by AI meaning similarity and what your customers bought together, with Add all to cart, a preview with the reasons, pins and exclusions.

    by TAQNIX
    No reviews yet
    Sales:0$49.00

Similar items

  • App templateNew

    Taqnix POS Terminal – Offline-First Point of Sale PWA for Odoo 19: Next.js Source Code with Restaurant Tables, Kitchen Tickets, Loyalty and Arabic

    A point of sale for Odoo 19 that runs in the browser as an installable app and keeps selling when the network is gone: every order is saved on the device first and sent to Odoo once, with the same call Odoo's own POS uses. Variants and combos, split payments, receipts with barcode and QR, restaurant tables and kitchen tickets, dashboard, stock lookup, layaway, loyalty, English and Arabic. Full Next.js source code; no Odoo module to install.

    by TAQNIX
    No reviews yet
    Sales:0$399.00
  • App templateNew
    42% off

    Odoo Mobile WMS & Barcode Scanner (Paperless Warehouse) – GS1 Engine, Wave Picking, Cycle Counts and Rugged-Scanner Flutter App for Zebra, Honeywell and Datalogic on Odoo 19 Community

    Replace the Enterprise Barcode app on Odoo Community: a GS1-aware barcode engine, receipts, deliveries and bin-to-bin moves with lots, serials and expiry, wave picking along a snake path with bin check digits, blind cycle counts with manager approval, labels, an audit log, and the Flutter scanner app source for Zebra DataWedge, Honeywell and Datalogic with camera fallback.

    by TAQNIX
    No reviews yet
    Sales:0$199.00was $349.00
  • App templateNew
    42% off

    Odoo Construction Daily Site Diary & Punch List – Flutter Offline Jobsite App, Subcontractor Manpower, Blueprint Pins, Delivery GRN and Budget vs Actual for Odoo 19 Community

    The foreman writes the daily log, drops defect pins on the blueprints and receives deliveries against purchase orders, on a phone, with or without signal. The project office sees labor, equipment and material against the budget the same day. Odoo Community module plus an offline-first Flutter app.

    by TAQNIX
    No reviews yet
    Sales:0$199.00was $349.00
  • App templateNew
    50% off

    Odoo Restaurant Waiter App & Kitchen Display (KDS) – Flutter Table-Side Ordering, Hold & Fire Courses, Split Bills, QR Payment and Recipe Stock for Odoo 19 Community

    Take orders at the table and show them on the kitchen screens in milliseconds: live floor map, forced modifiers and add-ons, hold and fire courses, station routing with SLA timers, split bills, QR payment, ESC/POS receipts and automatic recipe consumption. Odoo Community module plus one Flutter app for waiters and kitchen tablets.

    by TAQNIX
    No reviews yet
    Sales:0$149.00was $299.00