Odoo Community
Odoo Enterprise
Viindoo Cloud
Confirm the order on the date it was actually agreed
A confirmation dialog with a date you can set. The order is confirmed now, but its order date - and everything derived from it - is the day the customer actually said yes.
Sales Confirmation Backdate (technical name to_sale_backdate) is an Odoo 17.0 app for Odoo Community and Odoo Enterprise and Viindoo Cloud, built for sales administrator, accountant, sales manager, everyone else.
At a Glance
The facts of Sales Confirmation Backdate, version 0.1, in one place. Published by Viindoo.
Technical name
to_sale_backdate
Odoo version
17.0 (Odoo Community, Odoo Enterprise, Viindoo Cloud)
Depends on
sale_management, to_backdate
Adds
2 new models, 1 extended model, 1 access group
Best for
Sales administrator; Accountant; Sales manager; Everyone else
Not for
It backdates the confirmation, not the invoice.
Key features
A Confirmation Date on the confirm dialog - default now, editable to any date, The order date is set from it, so reporting by period lands where it belongs, Restricted to a dedicated group: only users you trust see the dialog at all, Everyone else confirms exactly as before, with today's date, Implemented on Odoo's own _prepare_confirmation_values hook, so nothing else in the flow changes, The legacy date_order context key still works for integrations that already used it
Key Features
Orders are not always entered on the day they are agreed. A salesperson comes back from a week on the road, an order arrives by email on Friday and is typed on Monday, a month is closed and three confirmations were missed. Odoo stamps the order date with the moment you click Confirm, and there is no supported way to say otherwise - so the month's figures are wrong, the delivery lead time is measured from the wrong day, and somebody edits the database. This module puts the date in the confirmation itself: for users who hold the backdate right, Confirm opens a dialog with a Confirmation Date, and the order is confirmed with that date. Everything the confirmation writes follows it, because the module overrides the values Odoo is about to write rather than patching them afterwards.
Orders read correctly
The order list shows the dates you meant, so a period filter returns the right orders.
How It Works
Two steps, and the date stops being a lie.
1
Confirm, and say when
For a user with the right, Confirm opens a dialog carrying a Confirmation Date. Leave it as it is for today, or set the day the order was actually agreed.
2
The order carries that date
The order is a normal confirmed order in every other respect - the only difference is that its date is the one you entered, and every report that reads the order date agrees with it.
3
Give the right to the people who need it
Backdating is a permission, not a setting. Users without it never see the dialog, which is what keeps the audit conversation short.
What You Get
A Confirmation Date on the confirm dialog - default now, editable to any date
The order date is set from it, so reporting by period lands where it belongs
Restricted to a dedicated group: only users you trust see the dialog at all
Everyone else confirms exactly as before, with today's date
Implemented on Odoo's own _prepare_confirmation_values hook, so nothing else in the flow changes
The legacy date_order context key still works for integrations that already used it
More Screens
Everything below was taken on a database seeded with real business data, on this series - not a mock-up and not a screenshot from an older version.
Orders with their real dates
The permission that allows it
What This App Does Not Do
Read this before you buy. Everything below is something the app deliberately leaves to another app or to you.
It backdates the confirmation, not the invoice.
Invoice and delivery dates are their own documents with their own dates - backdating those is a different module.
It does not move stock or accounting entries.
Nothing is posted by this app; only the order's own date is set.
No approval on the backdate itself.
The control is the group: who may do it. If you need a second signature, route it through the approval app.
It does not rewrite history.
Orders already confirmed keep their dates; this affects the confirmation you are doing now.
Works Well With
Apps from the same stack, built to fit this one:
Backdate
The shared backdate mixin this builds on, installed with it.
to_backdate
OmniApproval
When a backdated confirmation should need a second pair of eyes.
viin_approval
Who Should Use Sales Confirmation Backdate?
Sales administrator
Enters last week's orders with last week's dates.
Accountant
Closes a month whose sales figures match the month.
Sales manager
Measures lead time from the day the customer agreed, not the day it was typed.
Everyone else
Sees no change: Confirm is Confirm.
Frequently Asked Questions
What does Sales Confirmation Backdate do?
A confirmation dialog with a date you can set. The order is confirmed now, but its order date - and everything derived from it - is the day the customer actually said yes.
What does Sales Confirmation Backdate not do?
It backdates the confirmation, not the invoice. Invoice and delivery dates are their own documents with their own dates - backdating those is a different module. It does not move stock or accounting entries. Nothing is posted by this app; only the order's own date is set. No approval on the backdate itself. The control is the group: who may do it. If you need a second signature, route it through the approval app. It does not rewrite history. Orders already confirmed keep their dates; this affects the confirmation you are doing now.
Who is Sales Confirmation Backdate for?
Sales administrator: Enters last week's orders with last week's dates. Accountant: Closes a month whose sales figures match the month. Sales manager: Measures lead time from the day the customer agreed, not the day it was typed. Everyone else: Sees no change: Confirm is Confirm.
Which Odoo version and editions does it support?
Odoo 17.0 - Odoo Community, Odoo Enterprise, Viindoo Cloud. Upgrades to a newer Odoo series are a separate purchase for that series.
What does it depend on?
It installs on top of: sale_management, to_backdate. Odoo installs them with it.
How do I set it up?
Two steps, and the date stops being a lie.
What works well with it?
Backdate (to_backdate): The shared backdate mixin this builds on, installed with it. OmniApproval (viin_approval): When a backdated confirmation should need a second pair of eyes. Accounting Analysis (to_accounting_bi): For checking that the period now adds up.
Can I try it before buying?
Yes - the Live Preview button at the top of this page opens the module's own screen on a working database.
How do I get support?
Write to apps.support@viindoo.com with your Odoo version and the technical name to_sale_backdate; pre-sales questions go to sales@viindoo.com.
Need help with Sales Confirmation Backdate?
For questions, implementation support or a custom feature, contact Viindoo.
Upgrades to a newer Odoo series are a separate purchase for that series.
All Viindoo apps: apps.odoo.com/apps/modules/browse?author=Viindoo
About Viindoo. Viindoo builds and maintains more than 1,000 apps on the Odoo App Store for the Community and Enterprise editions and runs them on Viindoo Cloud. A purchase of Sales Confirmation Backdate covers the 17.0 series: bug fixes on the module reach you through the store, questions go to apps.support@viindoo.com with the technical name to_sale_backdate, and moving to a newer Odoo series is a separate purchase for that series. Source code is delivered with the module and stays yours to read and adapt.
Technical Requirement
Editions: Odoo Community, Odoo Enterprise, Viindoo Cloud
Changes log
0.1 - Latest on the 17.0 line
- The confirmation date is supplied through Odoo's own _prepare_confirmation_values hook, so the rest of the confirmation flow is untouched.
- The shared backdate mixin is used, while the older date_order context key keeps working for existing integrations.
- Only users in the backdate group see the dialog.
Installation
- Navigate to Apps.
- Search with keyword to_sale_backdate.
- Press Install.
Instruction
Instruction video: Sales Confirmation Backdate
- Step 1: Go to the Sales management app and create a Quotation and press Confirm. The system will show a pop-up that allows users to select the Confirmation Date of the Sales order (SO) is a day in the past.
- Step 2: Select the actual confirmation day, and press Validate again. The Order Date field on the SO will show the selected date, hour.
Note: By default, only the user that has the Sales/Administrator right can do this. Other users must have the Sale Backdate Operations right to use this feature.
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.