- APPS
- Inventory Backdate 19.0
| Lines of Code | 490 |
| Technical name | viin_stock_backdate |
| License | OPL-1 |
| Website | https://viindoo.com/apps/modules/19.0/viin_stock_backdate |
| Read description for | v 16.0 v 17.0 v 18.0 |
| Required Apps | Discuss (mail) Inventory (stock) |
| Included Dependencies | Backdate Operations |
| Extensions | Stock Account Backdate Manufacturing Backdate Equipment Working Frequency - Backdate |
Stock records dated on the day the goods moved
For warehouses whose receipts, scraps and counts reach the system after the fact
Enter the date and time a stock transfer, a scrap or an inventory count actually happened.
Odoo 19.0 · Odoo Community · Odoo Enterprise · OPL-1
Extends Backdate Operations, which switches the back-date modules on from Settings and supplies their shared date dialog.
What changes for your team
Transfers entered late keep their real date
Today: a receipt, a delivery or an internal transfer is validated when the paperwork arrives, days after the goods moved, and takes that day.
→ Validate asks for the date and time the transfer actually happened. The transfer, its moves and the incoming date of the new stock take it, so first-in, first-out removal follows the real order of arrival. Validate only part, and only that part takes the date; the backorder stays open.
A scrap found late is dated when it was written off
Today: a scrap recorded days after the goods were damaged carries the day it is entered.
→ Validate on the scrap asks for the Actual Scrap Date, and the scrap and its stock movement take it.
Counts keep the day they were counted
Today: quantities counted on the floor are typed in later and applied at the time of typing.
→ Any inventory user sets the Counting Date in Odoo's own Apply dialog. The adjustment, the incoming date of new stock and the location's last count date take it; a counting date in the future is refused.
What is included
On its own, the module covers receipts, deliveries, internal transfers, scraps and inventory counts. The modules below carry the same dates into accounting, manufacturing and equipment; the accounting and equipment ones install by themselves once the apps they connect are in place.
Optional extensions
Stock Account Backdate
Books the journal entry of a dated inventory count in the period of the count.
Manufacturing Backdate
Start, pause, block, finish and mark done manufacturing orders and work orders on a past date, with their stock entries.
Equipment Working Frequency - Backdate
Equipment created from a receipt validated on a past date takes that date as its effective date.
Before you decide
Who can record a past date?
The users you give Inventory Backdate, in the Supply Chain section of the user form, are asked for the date when they validate a transfer or a scrap. Everyone else validates at the current time, with no dialog. Any inventory user may set a past Counting Date.
Does it get around a locked accounting period?
No. A date in the future is refused, and Odoo refuses a transfer dated in a locked period. For counts and scraps, the movement keeps its date and Odoo moves the journal entry to today or to the last day of the first open month.
Standard Odoo lets me edit the Effective Date. What is different?
Standard Odoo lets you unlock a done transfer and correct its Effective Date and its moves. Here the date is asked at validation, so the incoming date of the new stock, which sets its first-in, first-out order, takes it too, and scraps and counts get the same date.
How is a back-dated count valued?
At the cost in force when the count is recorded. The inventory value at a past date follows the movement dates.
Which languages and time zones does it handle?
It ships in English and Vietnamese. Each person enters dates in their own time zone, and the accounting day is that date's day in their time zone.
Try it, then ask us
The Documentation tab walks through granting the right and recording a transfer, a scrap and a count on a past date.
Pre-sales & partnership
viindoo.com/contactusTechnical support
viindoo.com/ticketTechnical requirements
- Odoo version: 19.0
- Editions: Odoo Community, Odoo Enterprise
- Required modules: Inventory, Backdate Operations
- License: OPL-1
- Languages: English, Vietnamese
Inventory Backdate
Note
This guide is for administrators, who give people the Inventory Backdate right, for warehouse operators who validate transfers and scraps after they happened, and for everyone who applies inventory counts.
Note
Extends Backdate Operations - see the Backdate Operations documentation for the Settings section, the user rights and the rule that a back-date is never in the future.
Inventory Backdate records a stock operation on the date and time it really happened. A receipt that reached the dock last week, a scrap found at the end of the month, a count made on Friday and entered on Monday: the document, its stock movements and the stock it brings in all carry the real date instead of the day somebody got to the keyboard.
Overview
Odoo stamps a stock operation with the moment it is validated. When the operation is entered later than it happened, the date is wrong everywhere it is used: the transfer, the movement history, the age of the stock that FIFO removes first, the date of the last count of a location and the day the accounting entry is booked.
Inventory Backdate adds the real date to three places:
- Transfers. Validating a receipt, a delivery or an internal transfer asks for the date and time it actually happened. When only part of a transfer is validated, only that part takes the date and the backorder stays open.
- Scraps. Validating a scrap order asks for the date and time of the write-off.
- Inventory counts. The Counting Date of the Apply dialog of Physical Inventory, which Odoo already offers, takes effect on the movements, on the incoming date of new stock and on the last count date of the counted location. A counting date in the future is refused.
What takes the date, once an operation is validated on a past date:
- the transfer or the scrap (its Effective Date), each of its stock movements and their lines;
- the incoming date of the stock the operation brings in, so FIFO removal follows the real order of arrival;
- for a count, the last count date of the counted location;
- the number of the document, which comes from the numbering range of that date;
- the accounting day of the entry, which is the day of the chosen date in your own time zone.
The transfer and scrap dialogs are offered to the people who hold the Inventory Backdate right. Counts need no right: any inventory user can set a counting date.
Who does what:
| Role | What they do | Access right to assign |
|---|---|---|
| Administrator | Installs the module and gives each person the Inventory Backdate right. | Role: Administrator |
| Warehouse operator | Applies inventory counts and sets the date and time the count took place. | Inventory: User |
| Warehouse operator with the back-date right | Validates transfers and scraps at the date and time they actually happened. Also does everything the warehouse operator does. | Inventory Backdate: Stock Backdate Operations (it includes Inventory: User) |
Setup (for the Administrator)
Installation
- Open Settings ‣ Backdate Operations.
- In the Inventory block, tick Inventory Backdate and click Save.
Odoo installs the module together with the Inventory app. The section Backdate Operations is described in the guide of Backdate Operations; it is shown to users with the Administration: Settings access right only.
Give people the Inventory Backdate right
- Open Settings ‣ Users & Companies ‣ Users and open the user.
- In the tab Access Rights, find the row Inventory Backdate in the Supply Chain section.
- Choose Stock Backdate Operations and click Save.
The right includes Inventory: User, so the person can work in the Inventory app at once. To take the right away, choose No: from then on that person validates transfers and scraps at the current time, without a dialog.
Having the right means the dialog is offered to that person. It never stops anyone else from working. Back-dating an inventory count needs no right at all.
Warehouse operator: apply an inventory count on the day it was counted
For every inventory user, with or without the back-date right.
Apply a count on a past date
- Open Inventory ‣ Operations ‣ Adjustments ‣ Physical Inventory.
- Enter the quantity you counted in the Counted column of each line.
- Tick the lines to apply and click Apply (or Apply All for every line).
- In the dialog Physical Inventory, set Counting Date to the date and time of the count, in your own time zone.
- Click Update Quantities.
The counted quantity becomes the quantity on hand, and the count takes the counting date:
- the stock movement of the count and its lines carry the counting date;
- stock that the count brings in takes the counting date as its incoming date, so FIFO removal follows it;
- the last count date of the counted location is the counting day.
For products valued automatically, the dialog also shows Accounting Date, the day the valuation entry is booked. With Stock Account Backdate installed it proposes the day of the counting date. A back-dated count is valued at the cost in force when you record it; the inventory value at a past date follows the movement dates.
A counting date in the future is refused
A Counting Date after the current time is refused with "The counting date cannot be in the future. Set the date and time the count actually took place.". Nothing is applied and the counted quantities stay as you entered them: click Close, correct the date in the open dialog and click Update Quantities again.
Other ways to apply a count
- The Apply button at the end of a line applies that line at the current time, without a dialog.
- Typing a quantity directly in the On Hand column applies it at the current time.
- When other stock moves were done after you entered the counted quantity, Odoo shows a conflict dialog. Whatever you choose there, Keep Counted Quantity or Keep Difference, the count keeps the counting date you set.
Warehouse operator with the back-date right: validate transfers and scraps on the day they happened
For the people who hold Inventory Backdate: Stock Backdate Operations. This chapter covers what the right adds to the work of the warehouse operator.
Validate a transfer on a past date
- Open the receipt, the delivery or the internal transfer, for example from Inventory ‣ Operations ‣ Transfers ‣ Receipts.
- Click Validate. The dialog Validate with a Back Date opens and proposes the current time.
- In Transfer Date, enter the date and time the goods really arrived or left, in your own time zone.
- Click Validate to record the transfer at that date, or Cancel to leave it as it was.
The transfer is done at the date you gave. Its Effective Date shows it, and so do its stock movements and their lines; the stock it brings in is dated from that instant, and its number comes from the numbering range of that date.
If you validate only part of the transfer and choose Create Backorder, only the validated part takes the date. The backorder stays open and is validated on its own date, with its own dialog.
Validate a scrap on a past date
- Open Inventory ‣ Operations ‣ Adjustments ‣ Scrap, click New and fill in the product and the quantity.
- Click Validate. The dialog Validate with a Back Date opens.
- In Actual Scrap Date, enter the date and time of the write-off.
- Click Validate.
The scrap is done at that date: the scrap order and its stock movement carry it, and the scrap number comes from the numbering range of that date.
Rules every back-date dialog shares
- A back-date is never in the future. A date after the current time is refused with "The date cannot be in the future. Choose the date and time the operation actually took place.". The transfer or scrap stays as it was and the dialog stays open: correct the date, or cancel.
- Dates are entered in your time zone. The accounting day of the entry is the day of the chosen date in your time zone.
- A locked accounting period. Odoo refuses a transfer dated in a locked period. For a scrap or a count the movement keeps its date, and Odoo moves the journal entry to today, or to the last day of the first open month (31 December for journals numbered per year).
Troubleshooting
- I validate a transfer or a scrap and no dialog opens.
- You do not hold the Inventory Backdate right, so the operation is recorded at the current time. Ask your administrator for Stock Backdate Operations in the Access Rights tab of your user.
- The row Inventory Backdate is missing from my user form.
- The module is not installed. Tick Inventory Backdate in Settings ‣ Backdate Operations.
- A transfer is refused when I give a past date.
- The date falls in a locked accounting period. Choose a date after the lock date, or ask the person who closes the books.
- The date is refused as being in the future.
- Choose a date and time up to the current time. This holds for transfers, scraps and counts.
- I apply a count from the end of a line and it takes today's date.
- The Apply button of a line, and a quantity typed in On Hand, apply at the current time. Select the lines, click Apply at the top of the list and set the Counting Date.
FAQ
- Do I need the right to apply a count on a past date?
- No. Any inventory user can set a Counting Date. The right is for transfers and scraps.
- Which date does FIFO use for stock that arrived late?
- The back-dated date. The stock brought in by a back-dated operation takes that date as its incoming date, so it is removed in the order the goods really arrived. Stock of the same location that already carries an incoming date keeps it.
- Is a back-dated count valued at the cost of that day?
- A back-dated count is valued at the cost in force when you record it. The inventory value at a past date follows the movement dates.
- Can I back-date to a time that has not come yet?
- No. Every back-date dialog and the Counting Date refuse a date after the current time.
This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file).
You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software.
The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.