Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Other
  3. Deltatech Actions v 19.0
  4. Sales Conditions FAQ

Deltatech Actions

by Terrabit https://www.terrabit.ro , Dan Stoica https://www.terrabit.ro
Odoo
v 19.0 Third Party 58
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• Discuss (mail)
Lines of code 432
Technical Name deltatech_actions
LicenseOPL-1
Websitehttps://www.terrabit.ro
Versions 17.0 18.0 19.0
  • Description
  • Manifest
  • License
Odoo Partner  •  Terrabit

Deltatech Actions

Cleaning and other actions

Odoo 19.0 Online • Odoo.sh • On-premise Optional support

Provides a set of scheduled maintenance actions (cron jobs) to keep an Odoo database clean and performant. All jobs are disabled by default and run in dry mode (no data is changed until explicitly enabled by an administrator).

Key features:

  • ✓Delete duplicate XML (EDI/ANAF) attachments on invoices — cron: Delete duplicate xml attachments
  • ✓Delete old generated PDF attachments on invoices — cron: Delete pdf invoice attachments
  • ✓Delete old generated PDF attachments on sale orders — cron: Delete pdf sale order attachments
  • ✓Delete old generated PDF attachments on stock pickings — cron: Delete pdf pickings attachments
  • ✓Delete old chatter messages (with linked non-ANAF attachments) — cron: Delete mail messages
  • ✓Create missing stock reordering rules for storable products — cron: Create missing reordering rules (0/0)
  • ✓Merge duplicate contacts by e-mail address — cron: Merge duplicate contacts by email
  • ✓Merge duplicate companies by VAT number — cron: Merge duplicate companies by VAT
  • ✓Normalize company name suffixes (SRL → S.R.L., SA → S.A., etc.) — cron: Normalize company names
  • ✓Force-cancel a sale order together with all its pickings, stock moves and account moves via a server action (force_cancel_order_and_moves); the server action must be created manually for security reasons

Configuration

All scheduled actions provided by this module are disabled by default and run in dry mode (dry_run=True), meaning they only log what would be deleted without making any changes. Before activating a cron job, review its parameters and switch dry_run to False.

To configure the scheduled actions, navigate to Settings > Technical > Automation > Scheduled Actions.

Delete duplicate xml attachments

Model: account.move. Removes duplicate XML (EDI/ANAF) attachments on invoices.

Parameters passed in the cron code field:

  • ✓limit — number of invoice groups to inspect per run (default: 10)
  • ✓duplicates — minimum number of same-name attachments before deletion starts (default: 10)
  • ✓max_attachments_to_delete — safety cap on attachments deleted per run (default: 50)
  • ✓dry_run — set to False to enable actual deletion (default: True)

Delete pdf invoice attachments

Model: account.move. Removes old generated PDF attachments from invoices.

Parameters:

  • ✓limit — maximum number of attachments to delete per run (default: 5000)
  • ✓pattern — name prefix filter, e.g. "INV/%" (empty string matches all)
  • ✓max_date_days — delete attachments older than this many days (default: 90)
  • ✓dry_run — set to False to enable actual deletion (default: True)

Delete pdf sale order attachments

Model: sale.order. Removes old generated PDF attachments from sale orders.

Parameters: same as Delete pdf invoice attachments (pattern example: "Pro forma/%").

Delete pdf pickings attachments

Model: stock.picking. Removes old generated PDF (and octet-stream) attachments from stock pickings.

Parameters: same as Delete pdf invoice attachments (default pattern: "Label%").

Delete mail messages

Model: mail.message. Removes old chatter messages and their linked attachments, excluding ANAF/XML/ZIP/plain-text attachments.

Parameters:

  • ✓limit — maximum messages to delete per run (default: 5000)
  • ✓pattern — optional subject filter, e.g. "Facturx%" (default: "%" = all)
  • ✓max_date_days — delete messages older than this many days (default: 90)
  • ✓exclude_models — list of model name patterns to skip, e.g. ["business.%", "project.%", "helpdesk.%"]
  • ✓dry_run — set to False to enable actual deletion (default: True)

Create missing reordering rules (0/0)

Model: product.product. Creates stock reordering rules for storable products that have none. Requires the deltatech_auto_reorder_rule module to be installed. No extra parameters.

Merge duplicate contacts by email

Model: res.partner. Merges individual contacts (non-company, no VAT) that share the same e-mail address, using Odoo’s built-in base.partner.merge.automatic.wizard. Parameter: limit (pairs merged per run, default: 10).

Merge duplicate companies by VAT

Model: res.partner. Merges company records that share the same VAT number. Parameter: limit (pairs merged per run, default: 10).

Normalize company names

Model: res.partner. Standardizes legal-form suffixes in company names (e.g. srl → S.R.L., sa → S.A., pfa → P.F.A., ii → I.I.). Processes up to 500 records per cron run. No extra parameters to configure.

Force-cancel server action

The method force_cancel_order_and_moves on sale.order cancels a confirmed sale order together with all its linked stock pickings, stock moves, stock move lines and account moves by writing their state directly to cancel. This bypasses normal workflow checks and must be used with care.

To activate it, create a Server Action manually:

  1. Go to Settings > Technical > Actions > Server Actions.
  2. Create a new action on model Sale Order.
  3. Set action type to Execute Python Code and call record.force_cancel_order_and_moves().
  4. Add the action to the sale order’s Action menu if needed.

Bug Tracker

Bugs are tracked on Terrabit Issues. In case of trouble, please check there if your issue has already been reported.

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

Credits

Authors

  • Terrabit
  • Dan Stoica

Maintainers

This module is part of the dhongu/deltatech project on GitHub.

You are welcome to contribute.

Need help getting started?

We are an Odoo partner building apps for the Romanian market (SAGA & WinMentor export; Romanian accounting localization in progress). Direct support from the team that built the module.

Contact Terrabit →
TERRABIT
© Terrabit Solutions SRL  •  terrabit.ro  •  Odoo apps for Romania, Ireland & Moldova
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Invoicing (account)
• Discuss (mail)
Lines of code 432
Technical Name deltatech_actions
LicenseOPL-1
Websitehttps://www.terrabit.ro
Odoo Proprietary License v1.0

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.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with