Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
177 changes: 177 additions & 0 deletions stock_acceptance_label/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
======================
Stock Acceptance Label
======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:c56585b3580ff74bdfb779ee05d5035591cd3bd73d3645e92f6b4cb16f9f6d1e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-qrtl%2Frbkk--custom-lightgray.png?logo=github
:target: https://github.com/qrtl/rbkk-custom/tree/18.0/stock_acceptance_label
:alt: qrtl/rbkk-custom

|badge1| |badge2| |badge3|

This module adds an acceptance label that is printed from transfers,
three labels per A4 portrait sheet (one per horizontal band of the
sheet).

Each label shows the following rows, in the same layout:

- the product name;
- the acceptance number;
- the model number (product internal reference);
- the lot number the goods are received in, blank as long as no lot is
assigned;
- the expiration date of that lot, blank when it has none;
- the arrival date (the effective date of the transfer, or any other
date field selected in the settings);
- a status area with checkboxes to be ticked by hand, which can be
edited in the settings;
- the product barcode (Code128).

One label is printed per detailed operation of the transfer, so a line
received in several lots prints a label per lot, each with its own
acceptance number and lot number. Several transfers can be selected at
once so that all their labels are printed in a single PDF.

The detailed operations are created when the transfer is confirmed, so a
transfer still in draft has nothing to print.

It also adds an **Acceptance Number** field, which is where the printed
acceptance number comes from. The number is held by the detailed
operations of the transfer, so that a line received in several lots can
be numbered per lot, and the transfer line shows the summary of the
numbers of its operations.

Each lot keeps the acceptance numbers it was received under, and a lot
received several times shows them all. They follow the receipts: a
number corrected, or a receipt cancelled after the fact, drops out of
the lot.

Transfers can be searched by acceptance number.

**Table of contents**

.. contents::
:local:

Configuration
=============

The settings of the label are in *Inventory > Configuration > Settings >
Acceptance Label*.

Both settings are specific to the company selected in the settings. Each
label uses the settings of its transfer's company, including when
transfers from several companies are printed together.

**Arrival Date** selects the date printed as the arrival date. Any date
or datetime field of the transfer or of its lines can be selected,
including the fields added by other modules, and datetime fields are
converted to the user time zone.

The effective date of the transfer (*Date of Transfer*) is used by
default, and also when the selected field is emptied or points to a
field that does not exist anymore.

**Status Area** holds the content of the status row, and can be edited
freely. It is empty by default, in which case the label prints the
built-in area:

::

□ Under Inspection
↓
□ Conforming or □ Rejected

Keep the area within a few lines: the label has a fixed height, and
anything that does not fit in its band is cut off. Emptying the setting
restores the built-in area, which follows the language of the printing
user, while an area entered here is printed as such in every language.

Usage
=====

Enter the **Acceptance Number** of each line in the *Operations* tab of
the transfer. It may be left empty, in which case the field is printed
blank.

For a product with tracking the field is read-only there, and is entered
per lot in the *Detailed Operations* of the transfer instead; the line
then shows the summary of the numbers of its lots. For a product without
tracking, a number entered on the line is applied to its detailed
operations.

Then go to *Inventory > Transfers*, select one or more transfers, and
use *Print > Acceptance Label*. Three labels are printed per sheet, and
the labels of a transfer stay together in the order of the selected
transfers.

One label is printed per detailed operation, so confirm the transfer
first: the operations, and with them the labels, only exist from then
on.

Cancelled lines are not printed. The arrival date stays blank as long as
the configured date field is empty, which is the case until the transfer
is done with the default setting.

The lot number and the expiration date are taken from the lot of the
operation, so they stay blank until the lot is assigned in the *Detailed
Operations* of the transfer. A line received in several lots prints one
label per lot, each with that lot's own number, acceptance number and
expiration date. A lot without an expiration date prints the date blank.

Transfers can be searched by acceptance number from the search bar of
the transfer list, and the numbers received under a lot are shown on the
lot itself.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/qrtl/rbkk-custom/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 <https://github.com/qrtl/rbkk-custom/issues/new?body=module:%20stock_acceptance_label%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* Quartile

Contributors
------------

- `Quartile <https://www.quartile.co>`__:

- Tatsuki Kanda

Maintainers
-----------

.. |maintainer-kanda999| image:: https://github.com/kanda999.png?size=40px
:target: https://github.com/kanda999
:alt: kanda999

Current maintainer:

|maintainer-kanda999|

This module is part of the `qrtl/rbkk-custom <https://github.com/qrtl/rbkk-custom/tree/18.0/stock_acceptance_label>`_ project on GitHub.

You are welcome to contribute.
1 change: 1 addition & 0 deletions stock_acceptance_label/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
22 changes: 22 additions & 0 deletions stock_acceptance_label/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2026 Quartile (https://www.quartile.co)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Stock Acceptance Label",
"version": "18.0.1.0.0",
"category": "Inventory/Inventory",
"summary": "Print acceptance labels from transfers, 3 per A4 portrait sheet",
"author": "Quartile",
"website": "https://www.quartile.co",
"license": "AGPL-3",
"maintainers": ["kanda999"],
"depends": ["product_expiry", "stock"],
"data": [
"report/stock_acceptance_label_report.xml",
"report/stock_acceptance_label_templates.xml",
"views/res_config_settings_views.xml",
"views/stock_lot_views.xml",
"views/stock_move_line_views.xml",
"views/stock_picking_views.xml",
],
"installable": True,
}
Loading
Loading