Skip to main content
Odoo Community Association

Barcode Scrap

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

Scrap damaged or lost goods directly from the Barcode scanner app.

The operator picks the internal location the goods are written off from, scans them (with a GS1 parser installed, a GS1 label also gives its lot/serial and piece count), sets the quantities, chooses the scrap reasons and scraps. Each line becomes a native stock.scrap, created and validated on the spot, so the stock leaves the location for the scrap location exactly as it does from the back office.

This is a feature module on top of barcode_scanner: it registers its own screens, scan handling 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 Scrap Products.

Scrap goods

  1. Pick or scan the location the goods are written off from. Scanning a location barcode jumps straight to the scrap lines; otherwise choose one from the searchable list of internal locations.

  2. Scan each product to scrap: a plain barcode adds one unit. With a GS1 parser installed, a GS1 label also gives its lot/serial and its piece count (AI 30/37); a net weight on the label is not taken as the quantity. Scanning the same product and lot again adds to its line. Tap “+” to add a product by hand; with no search it lists what the location holds. Only goods can be scrapped, as in the back office: services are not offered.

  3. Each line shows how much of it the location holds. Adjust the quantity if needed.

  4. Choose the scrap reasons and tap Scrap. A reason that does not exist yet can be created on the spot with New reason, as the back office’s reason field allows; typing the name of an existing one (in any case) picks that one instead of creating a duplicate.

Lots and serial numbers

A lot is found by its exact name: lots whose names differ only in case are different lots. A name typed in another case finds its lot only when it names a single one.

A lot/serial-tracked product needs its lot/serial: read from the GS1 label, or typed into the line, which suggests the lots stored in that location. When the location holds a single lot of the product, it is filled in. A serial number is scrapped one unit at a time and can only appear once.

Stock shown and not enough stock

The quantity each line shows is what a scrap made from the scanner can take: the net quantity at the location itself, outside packages and not owned by a partner, as validating the scrap counts it. Goods in a package or owned by a partner are scrapped from the back office, where the scrap takes a package and an owner.

When a line asks for more than that, nothing is scrapped yet: the scanner lists what is short and asks whether to scrap anyway — the same choice the back office offers through its insufficient-quantity wizard. Confirming scraps the lines it was asked about; lines changed in between are checked again.

Destination

The goods go to the scrap location the back office preselects for the company, and can be sent to any scrap location of the company or a shared one instead. When the company has none of its own, the first shared one is taken; with no scrap location at all, scrapping waits until one is created.

Reading more from a label

The quantity a scan stands for comes from ScrapScreen.scannedQuantity(scan, productUomId): the piece count, or one unit. A module that reads more from a label (a GS1 net weight, say) can patch it to convert that into the product’s unit, as barcode_stock offers with its own scannedQuantity.

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-scrap 18.0.1.0.0.2

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-scrap 18.0.1.0.0.2
File Interpreter ABI Platform
odoo_addon_barcode_scrap-18.0.1.0.0.2-py3-none-any.whl Python 3 none any Details

Release files / odoo_addon_barcode_scrap-18.0.1.0.0.2-py3-none-any.whl

Download URL odoo_addon_barcode_scrap-18.0.1.0.0.2-py3-none-any.whl
Size 55.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94f6ca8974bb6a6e001bda0ee5388e1cb5333e42dfd9a7a3ac213fe5b2b457c9
BLAKE2b-256 checksum
How to use checksums
ab5ba915715ffe3de9144495cf31f63cc6a13303f4ec6df027ee878b24d8c773
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-scrap 18.0.1.0.0.2

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