Skip to main content
Odoo Community Association

Barcode Purchase

Beta License: AGPL-3 OCA/barcode-interface Translate me on Weblate Try me on Runboat

Create purchase orders directly from the Barcode scanner app.

The operator picks a vendor, a destination location and a buyer, then scans or adds the products to order (with a GS1 parser installed, a GS1 label also gives its lot/serial and piece count) and confirms. The module creates a purchase.order and, when asked, confirms it — which raises the incoming picking — so a purchase can be raised on the warehouse floor without opening the back office. The server does it all in one call: a failure leaves no half-made order behind.

This is a feature module on top of barcode_scanner: it registers its own screens and home-screen tile into the scanner core without patching it, so you install only what you need.

Table of contents

Usage

From the Barcode app home screen, tap Purchase Orders.

Raise an order

  1. Pick the vendor. Scanning a partner barcode selects it straight away; otherwise choose one from the searchable list of suppliers.

  2. Optionally set the destination location (the destinations of the receipt operations are offered, and scanning a location picks it), the buyer (Odoo’s native purchase-order responsible user) and a vendor reference.

  3. Add the products. Each line is ordered in the product’s purchase unit, shown under its quantity. Scanning a product adds one purchase unit. With a GS1 parser installed, a GS1 label also gives its lot/serial and its piece count (AI 30/37), which is converted from the product’s unit into the purchase unit (24 pieces of a product bought by the dozen are 2 Dozens); a net weight on the label is not taken as the quantity. Scanning the same product and lot again adds to its line; a serial number stands for a single unit and is listed once. You can also tap “+” to search and add a product, and edit the quantity on each line. Only goods that can be purchased are offered.

  4. The price shown on each line is the one the order will take, as in the back office: the vendor’s price, in the purchase unit and the order’s currency. Type a price to use another one instead, 0 included.

  5. Tap Confirm Order to create and confirm the purchase order, or Save Draft to create it without confirming.

Destination and lots

The destination and the lots read are kept on the order, so they hold however the order is confirmed: from the scanner, or later in the back office (a draft, or an order approved in two steps). The destination picks the receipt operation of its warehouse and becomes the final location of each line, which the stock moves follow: straight into it with a reception in one step, through the input and the steps after it with a reception in several. The lots read are kept on their lines (Lot/Serial Read) and written on the receipt when it is created.

Automatic validation

With Validate automatically ticked, Confirm Order confirms the order on create, which raises the receipt. Save Draft always keeps it as a draft.

A lot/serial-tracked product does not hold the order back: only a GS1 label carries a lot, and a vendor’s lot is usually unknown until the goods turn up, so the order is confirmed either way and the message names the products whose lot/serial still has to be entered on the receipt.

That message names the order and the state it ended in, because a confirmation does not always confirm: with two-step validation the order lands on To Approve and raises no receipt until somebody approves it in the back office.

Creating and confirming a purchase order requires the Purchase user rights, as in the back office.

Reading more from a label

The quantity a scan stands for comes from PurchaseScreen.scannedQuantity(scan, product), in the purchase unit: the pieces the label counts, converted, or one purchase unit. A module that reads more from a label (a GS1 net weight, say) can patch it to convert that into the purchase unit.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Binhex

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

szalatyzuzanna

This module is part of the OCA/barcode-interface project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Metadata

Release files for odoo-addon-barcode-purchase 18.0.1.0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for odoo-addon-barcode-purchase 18.0.1.0.0.4
File Interpreter ABI Platform
odoo_addon_barcode_purchase-18.0.1.0.0.4-py3-none-any.whl Python 3 none any Details

Release files / odoo_addon_barcode_purchase-18.0.1.0.0.4-py3-none-any.whl

Download URL odoo_addon_barcode_purchase-18.0.1.0.0.4-py3-none-any.whl
Size 61.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c287b959ef839ea4d4172ed396465bdf1047bdb6b7321cc59ef07bc22e07af18
BLAKE2b-256 checksum
How to use checksums
41152698eb4018b5548c61fd1d78ab513bc3f00f925ea606e39c5c07efa6c9e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Security for odoo-addon-barcode-purchase 18.0.1.0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page