module.manifest → showcase

Modules I've built,
all in one place

Every module I publish gets its own page here — with a description, screenshots, and the versions it supports.

49
published modules
19
categories

All modules

Attendance Webcam Capture icon

Attendance Webcam Capture

hr_employee_attendance_webcam

Attendance Webcam Capture Automatic Photo Verification on Every Check-In & Check-Out in Odoo 19 Eliminate attendance fraud and buddy punching without buying expensive biometric hardware. Capture instant webcam snapshots directly from the Systray "My Attendances" widget and attach them to attendance records! Dual Snapshot (In & Out) Optional Mandatory Mode Pure Native JS (No Python Libs) Try Live Demo Before You Buy Test the webcam prompt during Check-In and Check-Out directly from the top navigation bar widget in our live demo instance. Launch Live Preview Username: demo Password: demo Prevent Remote Attendance Fraud Without Expensive Biometric Hardware When employees log in remotely or check in from their laptops, HR managers cannot verify who actually clicked the button. Physical attendance clocks are expensive to deploy across multiple offices. Attendance Webcam Capture leverages the employee's existing laptop or desktop camera to capture visual proof on every Check In and Check Out! DEMO WATCH NOW Key Features & Capabilities Built directly into Odoo's native Systray attendance navigation widget. Seamless Systray Integration Hooks straight into the standard My Attendances top navbar button. When the user clicks Check In or Check Out, the camera snaps a photo automatically. Dual Photo Storage Stores separate Check-in Photo and Check-out Photo fields on the hr.attendance record, visible in both list and form views. Configurable Strictness Policy Choose whether photo capture is optional (allows attendance if camera is unavailable) or Mandatory (blocks check-in until camera access is granted). Browser Native & Secure Uses HTML5 MediaDevices API directly in the browser—no external third-party Python packages required. Fully compatible with HTTPS deployments. Technical Specifications & Requirements Clean architecture patch targeting Odoo 19 backend attendance components. Model & Controller Extensions Component Technical File Photo Fields Model models/hr_attendance.py Company Settings models/res_config_settings.py Check-In Endpoint controllers/main.py JS Systray Patch attendance_menu_patch.js Deployment Requirements Requirement Specification Security Protocol HTTPS (or localhost required for camera API) Python Dependencies None (Native Browser Media API) Target Scope Backend Systray Widget (My Attendances) Hardware Support Any web camera / mobile web browser How to Setup & Configure 1. Install the hr_employee_attendance_webcam module on your Odoo 19 database. 2. Ensure your server is running on HTTPS so browsers grant camera permission. 3. (Optional) Go to Settings ‣ Employees ‣ Attendances and enable Require Webcam Photo . 4. Employees click Check In or Check Out in the top navbar—photos instantly attach to attendance records! Highly Search-Optimized Keywords: Odoo 19 attendance webcam capture, hr_employee_attendance_webcam, photo check in odoo, attendance identity verification, webcam snapshot attendance, prevent buddy punching odoo, attendance camera capture, SyncSoft. Interface & Workflow Gallery Explore the webcam check-in prompt and attendance record image views. Future Development Roadmap Facial recognition comparison against employee profile image. Support for webcam photo capture in standalone Kiosk Mode. Geolocation tag overlay stamped directly onto captured photos. Developed with by SyncSoft Team Contact Us

Attendances v17.0v18.0v19.0
Calendar Recurrence Custom Interval icon

Calendar Recurrence Custom Interval

calendar_recurrence_custom_interval

Calendar Recurrence Custom Interval Schedule Monthly Meetings on Multiple Fixed Days (e.g., 1st & 15th) in Odoo 19 Standard Odoo Calendar doesn't allow repeating a meeting on multiple specific days within the same month. Generate coordinated native recurring meeting series on custom monthly days with a single click and manage them as a unified group! Multi-Day Monthly Recurrence Recurrence Group Management 100% Native Calendar Compatible Try Live Demo Before You Buy Test custom multi-day calendar recurrence generation and group deletion features in our live demo sandbox. Launch Live Preview Username: demo Password: demo Tired of Manually Duplicating Recurring Meetings for Multiple Days Each Month? Standard Odoo supports recurring meetings "every 2 weeks" or "on the 15th of every month", but cannot natively repeat a meeting on several fixed days per month (like payroll, bi-monthly syncs, or board reviews on the 1st and 15th). Creating separate events manually leads to clutter and calendar management nightmares. Calendar Recurrence Custom Interval solves this effortlessly! DEMO WATCH NOW Key Features & Capabilities Flexible scheduling built directly onto Odoo's native Calendar engine. Multi-Day Monthly Mode Select Monthly on Multiple Specific Days mode and type any comma-separated days (e.g. 1,15 or 5,20,28 ) to automatically schedule recurring occurrences. One-Click Series Generation Press Generate Monthly Series on Selected Days to immediately create native calendar.event series for each target day, inheriting all attendees, video links, and reminders. Unified Recurrence Groups All series generated together are grouped into a calendar.recurrence.group record. View all meetings at once or perform bulk single-click deletions. Smart Month-End Validation Handles invalid days automatically (e.g., if day 31 is chosen for April, it schedules on April 30th), preventing system exceptions and matching native behavior. Architecture & Native Integration Zero modifications to core Odoo recurrence logic—maximum stability across updates. Model Extensions Component Technical Reference Calendar Extension calendar.event New Recurrence Group calendar.recurrence.group Recurrence Mode Field custom_recurrence_mode Selected Days Input custom_month_days Standard Calendar Compatibility Feature Compatibility Status Video Conferencing / Google Meet 100% Native iCal & Outlook Sync Fully Supported Reminders & Alarms Preserved across series Standard Mode Fallback Zero impact on standard meetings How to Use in 4 Simple Steps 1. Open Calendar and create or edit a meeting. Check the Recurrent checkbox as usual. 2. Under Custom Recurrence Mode , select Monthly on Multiple Specific Days . 3. Enter target days separated by commas in Days of Month (e.g., 1,15 or 5,20,28 ). 4. Click Generate Monthly Series on Selected Days . View or bulk-delete generated events anytime under Recurrence Groups ! Highly Search-Optimized Keywords: Odoo 19 custom calendar recurrence, calendar_recurrence_custom_interval, repeat meeting on multiple days of month, odoo bi-monthly meeting recurrence, multiple specific days calendar event, recurrence group odoo, custom recurring event interval, SyncSoft. Interface & Workflow Gallery Explore the seamless multi-day recurrence setup and group management interface. Future Development Roadmap Support for multi-weekday monthly occurrences (e.g., "1st Monday and 3rd Friday of every month"). Custom multi-month yearly recurrence intervals (e.g., quarterly multi-day schedule). Attendee availability conflict preview before batch series generation. Developed with by SyncSoft Team Contact Us

Calendar v17.0v18.0v19.0
Audit Log Light icon

Audit Log Light

auditlog_light

Audit Log Light High-Performance, Selective Audit Trail & Data Security Logging for Odoo 15 Track who changed what value , and when on sensitive models—without paying the performance penalty of a full database audit trail. Zero overhead on unmonitored models, human-readable diffs, and tamper-proof log entries! Zero Overhead via In-Memory Cache Read-Only & Tamper-Proof Logs Automated Auto-Purge Cron Try Live Demo Before You Buy Test audit rule creation, field diffing, and read-only security enforcement in our live sandbox environment. Launch Live Preview Username: demo Password: demo Why Suffer Performance Loss From Bloated Audit Trail Modules? Generic audit modules log every field on every model, forcing every write() call in Odoo to compute and store heavy diffs. Audit Log Light takes the opposite approach: nothing is logged by default. In-memory caching ensures unmonitored models pay zero database overhead, while sensitive data (contacts, pricing, access rights) remains 100% accountable and secure. DEMO WATCH NOW Key Features & Capabilities Targeted security tracking designed specifically for speed, precision, and compliance. Granular Audit Rules Configure active rules per model ( auditlog.rule ). Choose exact fields to watch, or opt in to "Track All Stored Fields". Enable Create, Update, or Delete tracking independently. Human-Readable Diffs Values are automatically formatted for readability: Many2one fields display record names instead of IDs, Selection fields show labels, and Booleans display "Yes/No". Tamper-Proof & Read-Only Audit log lines ( auditlog.line ) are completely read-only via UI and API. Log lines are created exclusively by elevated backend context ( sudo() ) and cannot be altered. Automated Data Retention Built-in scheduled action ( ir.cron ) automatically purges entries older than a configurable retention window (default: 365 days) to keep database size optimal. Technical Architecture & Performance Design Built directly onto Odoo's abstract base model for effortless, high-speed execution. Model Extensions & Hooks Component Implementation Reference Global ORM Hook Extended models.AbstractModel (base) Rule Check Lookup In-Memory Per-Model Dictionary Cache Audit Configuration auditlog.rule Log Entry Storage auditlog.line Security & Safety Rules Security Layer Details UI/API Permissions Read-only for Viewer & Manager groups Multi-Company Isolation Strict record rules based on company_id Context Suppression auditlog_light_disabled=True Transaction Protection Failures caught & logged without blocking ORM Quick Setup & Usage Guide 1. Navigate to Audit Log → Audit Rules (accessible by Audit Log Managers). 2. Click New , select the target Model (e.g., Contact / res.partner ), and pick specific tracked fields or check Track All Stored Fields . 3. Select operations to log ( Create , Update , Delete ) and optionally restrict tracking to specific users. 4. Save the rule. Logging starts immediately for subsequent changes and can be reviewed under Audit Log → Audit Logs ! Highly Search-Optimized Keywords: Odoo 15 audit log, auditlog_light, odoo field change tracker, record modification history, audit trail module odoo, lightweight audit log, odoo security log, tamper proof audit trail, SyncSoft. Interface & Operational Gallery Explore rule configuration, detailed field diff logs, and smart button integration. Future Development Roadmap One-click CSV / Excel export for security compliance reporting. Instant email notifications for critical modifications (e.g. security group assignments). Side-by-side visual diff view for long text and HTML fields. Developed with by SyncSoft Team Contact Us

Extra Tools v17.0v18.0v19.0
Portal Employee Project Task Time Tracking Card icon

Portal Employee Project Task Time Tracking Card

project_task_chatter_only_license

Try Live Demo Before You Buy Test the Portal Timesheet interface (`/my/timesheet`) and internal approval workflow in our live demo instance. Launch Live Preview Username: demo Password: demo Portal Employee Project Task Time Tracking Card Zero-License-Cost Time Tracking for Subcontractors, Freelancers & External Partners in Odoo 19 Stop paying expensive internal user licenses just to let contractors report a few hours a week. Empower portal collaborators to log task time directly through the customer portal—automatically posted to Task Chatter with approval workflows! 100% Free Portal Users Chatter Integrated Submitted → Approved Workflow The High Cost of Standard Timesheet Licenses for External Workers Standard Odoo Timesheets (`hr_timesheet`) require every time-logger to hold an expensive **Internal User License**. Buying full licenses for hourly contractors, outsourced teams, or freelancers is financially wasteful. This module utilizes stock **Project Sharing** and free **Portal Users** to provide a dedicated, secure time-reporting dashboard with zero extra software licensing fees! DEMO WATCH NOW Key Features & Capabilities Designed specifically for companies managing external collaborators and hourly subcontractors. Zero License Fee Model Leverages standard Odoo 19 Project Collaborator features. External workers log time via free Portal accounts without touching internal apps. Task Chatter History Every time submission is automatically posted directly onto the Task Chatter as a structured log—giving internal teams complete visibility with no extra views. Dedicated "My Timesheet" Portal Portal collaborators get a clean route ( /my/timesheet ) to view assigned tasks, log date/hours/description, and track approval states. Manager Review & Auto-Approve Managers get a Submitted → Approved / Rejected workflow with reviewer notes. Enable optional company-wide Auto-Approval for instant validation! Architecture & Security Specifications Built independently of hr_timesheet for optimal performance and maximum security. Model & Portal Routes Component Technical Reference Time Entry Model project.task.time.entry Task Extensions total_portal_hours / approved_portal_hours Portal List Route GET /my/timesheet Portal Log Route POST /my/timesheet/task/<id>/log Security & Access Rules Security Layer Rule Details Reviewer Group group_project_portal_time_reviewer Portal Scoping Restricted to Collaborator tasks via ir.rule Audit Protection Portal users can NEVER delete time records Unlink Security Approved entries protected from deletion How to Setup & Workflow 1. Enable Allow Portal Time Tracking on your Project form (Visibility must be set to Visible to invited portal users ). 2. Add your external contact as a Project Collaborator using standard Odoo Project Sharing. 3. The contractor logs into the Portal, navigates to My Timesheet ( /my/timesheet ), and submits task hours. 4. Hours instantly post to the Task Chatter! Internal project reviewers approve or reject entries under Project → Portal Time Entries . Highly Search-Optimized Keywords: Odoo 19 portal employee project time tracking, license free timesheet odoo, project task chatter time entry, project_task_chatter_only_license, contractor hour tracking odoo portal, portal time entry project collaborator, external worker time tracking, SyncSoft. Interface & Workflow Gallery Explore the seamless experience between customer portal submission and backend management. Future Development Roadmap Portal monthly time summary report export in PDF & Excel formats. Live start/stop timer widget inside the portal task detail view. Task hour threshold alerts for project managers when contractor hours exceed estimates. Developed with by SyncSoft Team Contact Us

Project v17.0v18.0v19.0
Employee Expense Portal icon

Employee Expense Portal

expense_no_license_portal

Try Live Demo Before You Buy Test the Employee Expense Portal interface (`/my/expenses`) and backend manager approval workflow in our live demo instance. Launch Live Preview Username: demo Password: demo License-Free Employee Expense Portal Submit Receipts & Track Expense Reimbursements via Free Portal Accounts in Odoo 15 Stop paying expensive monthly user licenses just for field workers to submit occasional expense receipts. Empower drivers, technicians, and outdoor staff to submit receipts via a free portal—fully integrated into Odoo's native Expenses app! 100% Free Portal Users ($0 License) Mandatory Receipt Upload Native hr_expense Workflow Why Pay Internal User Licenses for Field Staff Who Only Submit Receipts? Companies with large field, outdoor, or seasonal teams (drivers, technicians, site supervisors) waste thousands of dollars purchasing standard Odoo internal user accounts simply so employees can submit fuel or meal receipts. License-Free Employee Expense Portal gives these employees a focused, restricted portal entry page where they submit expenses and receipt photos at $0 user license cost ! DEMO WATCH NOW Key Features & Capabilities A secure, streamlined submission front door built specifically for Odoo's native Expense module. Zero User License Cost Employees log in using standard Odoo Portal accounts ( share = True ). HR links their portal login to their employee record in one click. Seamless Receipt Submission Dedicated portal page ( /my/expenses ) lets employees select category, amount, date, and attach mandatory receipt photos/scans directly from their phone or PC. Native Odoo Expenses Integration Submissions automatically generate standard hr.expense records and hr.expense.sheet reports, triggering normal manager approval queues and journal posting. Strict Controller Security Portal users get ZERO direct ORM model permissions. All read/write actions pass through ownership-checked sudo() controller routes to ensure total data privacy. Technical Architecture & Security Model Designed for Odoo 15 Community & Enterprise with bulletproof data isolation. Model Extensions & Routes Component Implementation Reference Portal Expense Link hr.employee.portal_user_id Tracking Flag hr.expense.submitted_via_portal Portal List Route GET /my/expenses Submission Route POST /my/expenses/new Controller Security Principles Security Rule Details ORM Group Exposure Zero ORM access rights added to portal group Ownership Enforcement Explicit check: expense.employee_id == employee Attachment Security Strictly guarded receipt download route SQL Uniqueness Unique constraint on portal_user_id link Onboarding Workflow & Setup 1. Invite employee's contact record as a Portal User via Contacts (Grant Portal Access — consumes $0 license). 2. In the Employees app, open the employee record, navigate to the Expense Portal tab, and set Expense Portal Login . 3. The employee logs into /my/expenses on their phone or laptop, fills in details, and uploads a receipt picture. 4. An expense report is automatically created and submitted to their manager's standard Expenses backend approval queue! Highly Search-Optimized Keywords: Odoo 15 license free employee expense portal, expense_no_license_portal, portal expense submission odoo, zero license cost expense receipt upload, hr_expense portal submission, driver technician expense app, portal employee reimbursement, SyncSoft. Interface & Operational Gallery Explore the seamless employee portal experience and backend manager integration. Future Development Roadmap Multi-currency selection on the portal expense submission form. OCR automated receipt scanning to extract date and amount before submission. Batch expense submission (linking multiple receipts into a single portal report). Developed with by SyncSoft Team Contact Us

Expenses v17.0v18.0v19.0
Many2one Options Cleaner icon

Many2one Options Cleaner

web_m2x_options_cleaner

Try Live Demo Before You Buy Experience this module live in our pre-configured backend environment. Launch Live Preview Username: demo Password: demo Many2one Options Cleaner Hide "Create..." & "Create and Edit..." Dropdown Options Globally in Odoo 19 Based on User Permissions Stop users from accidentally cluttering your database with duplicate master data. Control Many2one dropdown creation entries application-wide via a single security group—zero XML view modifications required! Odoo 19 OWL Compatible Permission-Driven Zero View Overrides Why Unrestricted "Quick Create" Destroys Data Quality By default, Odoo allows any user with write access on a form to quickly create new customers, products, or categories directly from a Many2one dropdown. This leads to duplicate records, misspelled master data, and endless cleaning work for data managers. Many2one Options Cleaner locks down these creation links globally, allowing only authorized managers to create new master records. DEMO WATCH NOW Key Features & Capabilities Simple, non-intrusive, and high-performance master data protection for your Odoo deployment. Global Dropdown Cleaning Automatically removes "Create..." and "Create and Edit..." entries across all Many2one fields in every module without modifying any XML view files. Role-Based Access Control Controlled via a dedicated security group: Allow Create Options on Many2one Fields . Granted to system administrators by default, easily assignable to trusted users. Zero Performance Overhead The user permission check is attached directly to Odoo's session_info , cached in the web client payload with zero extra server RPC requests when opening dropdowns. Non-Intrusive Integration Respects existing view attributes! If a field explicitly sets options="{'no_create': True}" , those restrictions remain intact for all users. How It Works Under The Hood A clean JS client patch combined with server-side security checks in Odoo 19 OWL. Technical Architecture Component Implementation Details Session Info Patch ir.http.session_info() Web Client Descriptor Patches OWL many2OneField Property Override Dynamic canQuickCreate / canCreateEdit Editions Supported Odoo 19 Community & Enterprise Security & Group Structure Security Layer Details Security Category Many2one Options Cleaner Technical Group group_m2x_allow_create Group Name Allow Create Options on Many2one Fields Default Inherited By Settings / Administration Operational Setup Guide 1. Install Many2one Options Cleaner from the Odoo Apps menu. 2. Go to Settings → Users & Companies → Groups (or edit a user directly in Developer Mode). 3. Find Allow Create Options on Many2one Fields under the Many2one Options Cleaner section. 4. Add users who are authorized to create master records directly from dropdowns. All other users will automatically see a clean dropdown! Highly Search-Optimized Keywords: Odoo 19 Many2one options cleaner, hide create and edit many2one odoo, web_m2x_options_cleaner, disable many2one quick create, odoo master data quality, hide create option dropdown odoo, owl many2onefield patch, SyncSoft. User Interface Walkthrough Compare standard Odoo Many2one behavior with our permission-cleaned dropdown view. Future Development Roadmap Model-specific creation override rules (e.g., allow creating Tags, but restrict creating Customers). Customizable user notification toast when quick-create is restricted. Granular toggle between hiding "Create..." vs hiding "Create and Edit...". Developed with by SyncSoft Team Contact Us

Technical v17.0v18.0v19.0
Weeks of Supply Replenishment icon

Weeks of Supply Replenishment

stock_weeks_of_supply_replenish

Weeks of Supply Replenishment System Bridge the Supply Chain Gap — Dynamic Velocity-Based Purchase Replenishment in Odoo Stop relying on static Min/Max reorder points or manual spreadsheet calculations. Calculate actual weekly sales velocity, set target weeks of stock coverage, and generate vendor-grouped Purchase Orders in one click. Odoo Inventory & Purchase Dedicated Dynamic Sales Velocity Engine 1-Click PO Generation Why Static Min/Max Reorder Rules Fail Modern Supply Chains Static reorder rules cause overstocking during slow periods and severe stock-outs during demand surges. The Weeks of Supply (WOS) system continuously evaluates actual customer shipments over a configurable look-back window. It dynamically compares current net stock against sales velocity to calculate exact replenishment needs—keeping your warehouse lean, cash-flow healthy, and fully covered. Enterprise-Grade Replenishment Automation A robust data-driven framework ensuring accurate purchasing decisions, complete auditability, and zero manual spreadsheet errors. Hierarchical WOS Overrides Configure target coverage weeks and sales history look-back windows at Company default level, with clear override priority: Product > Warehouse > Company . Real-Time Sales Velocity Engine Analyzes actual delivered demand from completed done stock moves shipped to customers net of returns, ensuring predictions reflect true consumption. Audit-Ready Computation Batches Every calculation run is stored as a Computation Batch with status tracking (Suggested → Confirmed → Ordered / Ignored), giving complete transparency for compliance. Automated 1-Click PO Creation Select multiple replenishment suggestions and click to generate draft Purchase Orders, automatically grouped by primary vendor and receiving warehouse. Weeks of Supply Calculation Logic Rest easy knowing every purchase suggestion is backed by clear mathematical formulas. Demand & Inventory Formulas Metric Formula Avg. Weekly Sales Total Delivered Qty ÷ Look-back Weeks Net Available Qty OnHand + Incoming − Outgoing (Committed) Suggested Order Quantity Logic Calculation Step Formula Raw Requirement max(0, Target WOS × Avg Sales − Net Avail) Final Order Qty Adjusted for Min Order Qty & Rounding Operational Setup Guide 1. Set global defaults in Inventory → Configuration → Settings → Weeks of Supply Replenishment (e.g., 4 Target Weeks, 12 Look-back Weeks). 2. On product cards, open the Weeks of Supply tab to flag items for inclusion and optionally override product-specific targets. 3. Run Inventory → Weeks of Supply → Compute Replenishment for selected warehouses or activate the weekly scheduled action. 4. Review suggestions, confirm lines, and click Action → Create Purchase Orders to automatically draft grouped POs! Highly Search-Optimized Keywords: Odoo weeks of supply, WOS replenishment odoo, dynamic reorder points odoo, stock_weeks_of_supply_replenish, velocity based purchase order odoo, supply chain forecasting odoo, inventory coverage weeks, auto po creation odoo, SyncSoft. User Interface Walkthrough A clean, standard Odoo UI matching the core inventory and purchase platform themes flawlessly. Future Development Roadmap Integration with seasonal demand weighting algorithms to adjust sales velocity during peak periods. Vendor lead-time auto-buffering to automatically extend Target WOS based on supplier reliability. Automated inter-warehouse stock transfer suggestions prior to issuing external purchase orders. Developed with by SyncSoft Team Contact Us

Inventory v17.0v18.0v19.0
Website Hierarchy Menu Builder icon

Website Hierarchy Menu Builder

website_hierarchy_menu_builder

Website Hierarchy Menu Builder Organize Complex Website Structures with Unlimited Parent-Child Pages & Dynamic Card Grids in Odoo 19 Stop hand-building complex sub-section landing pages and navigation menus. Organize your website into structured parent-child trees and automatically generate beautiful card grids—both as SEO-friendly public pages and drag-and-drop Website Builder snippets. Odoo 19 Website Builder Dedicated Unlimited Parent-Child Tree Drag & Drop Snippet Why Hand-Building Multi-Level Website Navigation Fails Large websites with multiple solutions, services, or documentation nodes require clear parent-child navigation. Hand-crafting overview pages, broken breadcrumbs, and individual link cards for every sub-category takes endless time and breaks whenever pages move. This module centralizes page structure in a high-performance list and auto-renders public browsing grids and live Website Builder snippets effortlessly. Powerful Hierarchy & Card Grid Features An end-to-end building block for content managers and web designers building structured Odoo sites. Unlimited Parent-Child Nesting Built on Odoo's high-performance _parent_store for fast list lookups. Re-order items with drag handles, track breadcrumbs automatically, and compute depth levels. Rich Card Customization Link cards to internal Website Pages or custom URLs. Style cards with custom images, Font Awesome icon fallbacks, 8 Bootstrap color themes, and custom CSS classes. SEO-Friendly Public Pages Fully server-side rendered routes ( /website-hierarchy ) give search engine crawlers direct access to clean breadcrumb navigation and indexed sub-page links. Interactive Builder Snippet Drag the "Hierarchy Menu Cards" block onto any page in the Odoo Website Builder. Choose a root node in the option panel for instant, AJAX-powered card grid previews. Technical Architecture & Performance Engineered natively for Odoo 19 with clean controllers, widgets, and access rights. Model & Controller Routes Component Implementation Core Model website.hierarchy.menu Public Listing GET /website-hierarchy Node Detail & Breadcrumb GET /website-hierarchy/<id> Snippet AJAX Rendering POST .../render_cards Presentation & Security Feature Details Visibility Switches Independent Menu & Card toggles Multi-Website Scoping Optional website_id binding Security Groups Website Publisher & Designer Frontend Widgets Odoo Website Builder publicWidget Quick Setup Guide 1. Go to Website → Configuration → Hierarchy Menu Builder and create your root nodes and child list. 2. Configure link targets (Website Page or Custom URL), add subtitles, FontAwesome icons, images, and select a color theme. 3. Visit /website-hierarchy to inspect your server-rendered public category pages and breadcrumbs. 4. In the Website Builder edit mode, drag the Hierarchy Menu Cards snippet onto any page and select your root node to display dynamic cards! Highly Search-Optimized Keywords: Odoo 19 website hierarchy, website hierarchy menu builder, parent child website menu odoo, website menu cards snippet, odoo website navigation cards, website_hierarchy_menu_builder, multi level menu odoo website, dynamic card grid odoo, SyncSoft. User Interface Walkthrough Designed seamlessly to fit standard Odoo 19 Website Builder tools and backend administration views. Future Development Roadmap SEO-optimized slug URLs (e.g. /website-hierarchy/solutions/web-development ). Automatic top-level website.menu sync toggle based on is_menu_visible settings. Pre-rendered server-side initial DOM injection for snippet cards to further enhance crawlability. Developed with by SyncSoft Team Contact Us

Website v17.0v18.0v19.0
Website Coming Soon | Website Maintenance | Under Construction icon

Website Coming Soon | Website Maintenance | Under Construction

syncsoft_website_coming_soon

Start Up Templates About Contact SyncSoft Website Coming Soon Web Site Maintenance Website under construction Setup 1. -> Website -> Configuration -> Websites 2. Select current website 3. Click coming soon tab 4. "Coming soon" view web page coming soon page. 5. "Social" a social links will appear on the page. 6. "Countdown" a countdown will appear on the page. 7. "Launch date" set launch date. 8. "Comingsoon style" choose template. 9. "Page title" coming soon and maintenance page title. 10. "Page description" coming soon and maintenance page description. Templates About Presenting a "Coming Soon" page effectively can help build anticipation and excitement among your audience. Here's a suggested presentation format: Eye-Catching Banner or Image : Start with a visually appealing banner or image that captures attention and communicates the essence of your website or brand. This could include your logo, a relevant illustration, or a teaser image related to your upcoming products or services. Engaging Headline : Follow the banner with a clear and concise headline that informs visitors that your website is "Coming Soon." Use compelling language to create excitement and intrigue about what's to come. Informative Message : Provide a brief message that explains what your website is about and why visitors should be excited about its launch. Highlight key features, benefits, or unique selling points to entice visitors to return once the site is live. Countdown Timer : Include a countdown timer to indicate the time remaining until the website launch. This creates a sense of urgency and encourages visitors to check back when the countdown reaches zero. Email Capture Form : Offer visitors the opportunity to subscribe to email updates or notifications about the website launch. Keep the form simple, asking only for essential information such as email address and optionally, their name. Social Media Links : Include icons or links to your social media profiles so visitors can follow your brand and stay updated on news and announcements leading up to the website launch. Footer Navigation : Add a minimal footer navigation menu with links to essential pages such as a privacy policy, terms of service, and contact information. This ensures that visitors can still access important information even while the website is under construction. Branding Consistency : Ensure that the "Coming Soon" page reflects your brand's visual identity, including colors, fonts, and imagery. Consistent branding helps reinforce brand recognition and credibility. Responsive Design : Make sure the "Coming Soon" page is fully responsive and optimized for various devices, including desktops, tablets, and smartphones. This ensures a seamless user experience regardless of the device used to access the page. Call to Action : Encourage visitors to take action, whether it's subscribing to updates, following your social media channels, or sharing the page with others who might be interested. A clear call to action helps drive engagement and conversion. By following these presentation guidelines, you can create a compelling "Coming Soon" page that effectively generates excitement and anticipation for your website launch. Contact me Email: [email protected] Social © 2024 SyncSoft

Website v17.0v18.0v19.0
Warehouse Bulk Scrap Tool icon

Warehouse Bulk Scrap Tool

stock_scrap_bulk_transfer

Warehouse Bulk Scrap Management for Odoo Scrap Hundreds of Products from Multiple Transfers in One Powerful Workflow Stop wasting hours processing damaged inventory one transfer at a time. The Warehouse Bulk Scrap Tool gives warehouse managers a centralized bulk scrap wizard to review, select, adjust and validate multiple scrap operations from different stock transfers instantly. Designed for modern warehouses, manufacturing environments and inventory teams that need faster Odoo inventory management , better traceability and accurate stock control. Transform Your Scrap Workflow Bulk Scrap Automation Select multiple transfers, review products, confirm scrap orders — all from one unified dashboard. Eliminate Slow Manual Scrap Processing Too Much Manual Work Standard Odoo requires warehouse users to create scrap orders one transfer or move at a time. Difficult Inventory Review Damaged products are often distributed across receipts, deliveries, internal transfers and manufacturing operations. Reduced Warehouse Efficiency Slow scrap processes create inventory inaccuracies, operational delays and unnecessary administration. Powerful Bulk Scrap Solution for Odoo Inventory Unified Scrap Management Combine multiple stock transfers into one intelligent scrap workflow. Review every product, lot, package and quantity from a single powerful interface. Smart Product Selection Select individual products or use Select All to process large-scale warehouse scrap operations faster. Flexible Quantity Control Adjust scrap quantities and locations before confirmation to maintain complete inventory accuracy. Native Odoo Stock Integration Creates standard Odoo Scrap Orders using the official stock.scrap workflow with full valuation, traceability and access rule compatibility. One-Click Validation Generate and validate multiple scrap orders automatically instead of repeating the same warehouse tasks manually. Warehouse User Friendly Built for inventory managers, warehouse operators, storekeepers and manufacturing teams. Key Features Multi Transfer Support Scrap products from multiple receipts, deliveries, internal transfers and manufacturing operations. Smart Product Lines Automatically load product, lot, package and location information from selected transfers. Location Control Choose and update scrap locations before final validation. Secure Data Handling No stock data changes happen until final confirmation. Business Benefits Save Warehouse Time Reduce repetitive scrap operations and process large inventory cleanup tasks in minutes. Improve Inventory Accuracy Keep stock levels accurate with controlled and traceable scrap validation. Optimize Warehouse Operations Create a faster and cleaner inventory management process. DEMO WATCH NOW Technical Overview New transient model: stock.scrap.bulk.wizard Bulk scrap line management: stock.scrap.bulk.wizard.line Integrated with standard Odoo stock.scrap records Uses native Odoo validation workflow Available for Inventory users and warehouse managers Added directly into Transfers Actions menu Upgrade Your Odoo Warehouse Scrap Management Today The ultimate Odoo Bulk Scrap Management module for warehouse automation, inventory optimization, stock control, damaged product processing and manufacturing inventory workflows. Contact Us SEO Keywords: Odoo Bulk Scrap, Odoo Inventory Scrap Management, Warehouse Scrap Automation, Odoo Stock Management, Odoo Warehouse Module, Inventory Adjustment Tool, Manufacturing Scrap Management, Product Disposal Workflow, Odoo ERP Warehouse Automation

Inventory v17.0v18.0v19.0
User Access Rights Cloner icon

User Access Rights Cloner

user_access_rights_cloner

User Access Rights Cloner Clone Security Groups & Company Access in Seconds Stop manually checking dozens of checkboxes for every new employee. Copy perfect access configurations from one user to many in just 2 clicks. Odoo 15.0 - 19.0 Saves 95% Setup Time Zero Human Error The Onboarding Nightmare Setting up a new user in Odoo can take 15 to 20 minutes of tedious work. You have to manually compare, click, and verify up to 50+ different security checkboxes. Missing just one checkbox can either prevent an employee from doing their job or, worse, expose sensitive financial and warehouse data. See 3-Second Cloning In Action Watch how effortlessly you can onboard multiple users at once. WATCH NOW Two Flexible Operations Modes Adapt the cloning process based on your current corporate needs. Replace Mode Perfect for new hires. It completely overwrites the target users' current security configuration with the source user's exact profile. Merge Mode Perfect for promotions or departmental changes. It only adds the missing security groups to the target users without touching their existing permissions. Key Features & Enterprise Benefits Multi-Company Access Cloning Optionally copy multi-company settings (both Allowed Companies list and Default Company selection) along with security groups. Live Security Preview See a live preview list of the source user's actual groups inside the wizard before hit confirm, ensuring total transparency. Strict Audit Logging Keeps an immutable log of who cloned whose rights, when, what mode was used, and how many groups were affected for data security compliance. Form Integration Launches directly via a dedicated smart button called "Clone Access Rights" on the native Odoo User form or from the Settings menu. Administrative Control & Security: To maintain high security, access to the cloner wizard and the historical audit logs is restricted strictly to users belonging to the core Administration / Settings security group. This prevents unauthorized users from altering internal corporate permissions. No external Python libraries are required, ensuring smooth enterprise integration. Intuitive Wizard Interface Developed with by SyncSoft Team Need help, have questions, or want a custom feature? We are here to support you! Contact Us

Extra Tools v17.0v18.0v19.0
Thermal Printer Direct ZPL/TSPL Barcode (QZ Tray) icon

Thermal Printer Direct ZPL/TSPL Barcode (QZ Tray)

syncsoft_zpl_barcode_direct

Direct Thermal Barcode Printing (ZPL/TSPL) Print barcode labels directly from Odoo to thermal printers via QZ Tray. Zero PDF generation. Maximum speed. Odoo 15.0-19.0 Warehouse & Retail QZ Tray Ready Why Direct Printing? Traditional printing generates PDF files which scale poorly and trigger slow browser print dialogs. This module sends native ZPL/TSPL commands directly to your printer for razor-sharp barcodes and instant printing! YouTube WATCH NOW Powerful Core Features Built for speed, reliability, and high-volume environments. Native ZPL & TSPL Support Generates raw printer commands. Compatible with Zebra (ZPL), TSC, Godex (TSPL), and other supported thermal printers. Batch Label Printing Easily print multiple labels at once without slowing down your server. Ideal for receiving large shipments or retail tagging. Seamless QZ Tray Integration Bypasses the browser print dialog completely. Sends data directly to the local or network printer configured on the client computer. Secure RSA Communication Ensures safe and secure connection to QZ Tray using Python cryptography and RSA-based authentication. Ideal For Any Industry Manufacturing Print serial numbers and product tags instantly on the production line. Warehouse & Logistics Speed up picking and packing operations with instant shipping label generation. Retail Print shelf tags and product barcodes on the fly without server delays. Configuration & Settings Developed withby SyncSoft Team Need help setting up QZ Tray, have questions, or want a custom feature? We are here to support you! Contact Us

Inventory v17.0v18.0v19.0
Task Dependency Violation Alerter icon

Task Dependency Violation Alerter

project_task_dependency_alert

Task Dependency Violation Alerter Proactive Guarding & Audit Logs for Strict Project Sequencing Stop tasks from being started out of order. Enforce sequential execution, catch timeline inconsistencies, and log dependency breaches in real-time. Odoo 18.0 Project & Construction Breach Prevention The Chaos of Out-of-Sequence Operations Odoo's native task dependencies tell you what task blocks another, but they completely fail to stop users from skipping steps. Site operators and team members often advance downstream tasks before predecessors are finished. This results in costly re-work, scheduling conflicts, and general project blindness because managers have zero oversight into how often workflow boundaries are violated. Multi-Layer Sequence Enforcement Proactive visual banners, hard-blocking parameters, and automated background analysis networks. Live Alert Form Banner Displays a high-visibility red warning ribbon directly on the task form view the exact second an active task is set to "In Progress" or "Approved" while its prerequisite steps remain uncompleted. Configurable Strict Mode Toggle absolute operational guardrails from configuration settings. Switch from soft warnings to a hard block that completely rejects database saves if dependency rules are broken. Schedule Mismatch Detection Flags chronological planning flaws immediately. Triggers specialized scheduling alerts if a successor task deadline is erroneously mapped earlier than its predecessor's deadline. Centralized Forensic Audit Log Tracks every sequence bypass into an immutable log model. Records project origins, responsible parties, timestamps, blocking nodes, and a clear lifecycle status: Open → Acknowledged → Resolved. Automated Infrastructure & Notifications Keeps management informed and historical data updated without requiring manual form evaluations. Chatier & Activity Automation Logs formal notification notes inside the task chatter and sets an immediate Odoo "To-Do" activity assigned directly to the responsible handler upon any structural violation. Daily Safety-Net Scans Runs a daily automated background task check. Catches indirect violations, such as when a previously completed predecessor task is unexpectedly re-opened by an employee downstream. Color-Coded UX Filters Highlights breached tasks in red inside standard Odoo list views. Equipped with quick search parameters for "Dependency Alerts" and "Schedule Violations" . Dynamic On-Screen Enforcement Unmatched operational forensics seamlessly mapped directly into native Project dashboards. Developed with by SyncSoft Team Looking to build high-performance scheduling constraints or automate complex workflow notifications? We are here to support you! Contact Us

Project v16.0v17.0v18.0
Switch Company Home Redirect icon

Switch Company Home Redirect

multiple_company_redirect_fix

Switch Company Home Redirect Dynamic Enterprise Context-Aware Dashboards Stop landing on irrelevant pages when switching entities. Instantly route users to company-specific home actions or custom URLs the moment they switch the active company. Odoo 19.0 Multi-Company UX Intelligent Routing The Annoying Reload Trap of Multi-Company Operations In native Odoo, changing your active company simply forces a page reload right where you are standing. If you switch from a retail company to a logistics or manufacturing entity, you remain trapped in the point-of-sale menu or sales layout. Users are forced to waste time manually clicking through nested menus to find that specific company’s relevant dashboard every single time. Custom-Tailored Navigation Paths Configure dedicated landing gateways for each business unit operating out of your single consolidated database. Home Action Prioritization Bind any core Odoo window action directly to a company profile. Instantly trigger complex native dashboards, list parameters, or graph structures on switch. Custom URL Navigation Route operators straight to a specific relative browser path (e.g., /odoo/inventory ). Provides flexible redirection to tailored application modules. Granular Toggle Control Enable or disable redirections independently per company record. Entities with inactive configurations will transparently fall back to native Odoo behavior. Lightweight Client-Side Performance Smart state capture built into Odoo's web architecture without heavy server controllers. Intelligent Active-Change Capture The browser extension listens specifically to the top right company service drop-down. Toggling passive allowed companies on or off will never activate the redirect rule—it executes only when the primary active database context changes. Session Memory Shield Utilizes browser sessionStorage to track states through hot reloads. Executes lightweight RPC requests during the web client boot phase to identify changes instantly and safely navigate the user. 3-Step Configuration Routine Navigate easily to Settings > Users & Companies > Companies , choose your entity, and manage routing under the new Home Redirect tab: 1. Check the "Enable Home Redirect" boolean field. 2. Assign a primary Home Action (e.g., ir.actions.actions record) or input a text-based relative Home URL path. 3. Click Save. The system immediately takes over company-switching logic for all users. Integrated Company Configuration Clean field overlays mapped perfectly alongside native multi-company architecture layouts. Developed with by SyncSoft Team Looking to refine your enterprise multi-company operational flows or build responsive UI widgets? We are here to support you! Contact Us

Technical Settings v17.0v18.0v19.0
Survey Feedback to CRM Lead Converter icon

Survey Feedback to CRM Lead Converter

survey_feedback_crm_integration

Survey Feedback to CRM Lead Converter Automated Survey Response Capture & Sales Pipeline Ingestion Never lose an interested respondent or hot lead again. Turn public survey submissions and customer feedback directly into active CRM opportunities based on rule-matching criteria. Odoo 19.0 Rule-Based Lead Gen 15-Min Auto Sync Are Warm Feedback Leads Dying In Your Survey Inbox? When customers finish a feedback poll or market survey indicating they want a demo, a price quote, or a follow-up call, that data remains trapped inside Odoo's Survey application. Marketing and community teams must manually review entries and copy-paste details into the CRM pipeline. This slow, disconnected process delays response times, causes human error, and causes valuable sales opportunities to cool down. Intelligent Feedback Funneling Bridge the gap between public user responses and active corporate sales distribution teams. Advanced Rule-Based Qualifying Set specific conditions based on survey answer contents (equals, contains, greater than, less than). Automatically ingest responses as CRM leads only if criteria match—like filtering for "Are you interested in a demo? = Yes". Minimum Score Validation Perfect for quiz-based lead magnets. Establish a minimum score percentage threshold on graded surveys, generating sales pipeline tasks only for high-scoring, highly qualified participants. Automated Team & Tag Routing Define the specific Sales Team, default Salesperson, and pipeline tracking tags globally per survey configuration. New opportunities land safely in the right hands with the correct tracking context. Bulk & Manual Conversion Wizards Full operational flexibility. Convert individual responses instantly from form actions, or select multiple responses inside the list view to trigger bulk lead creation with custom team overrides. Comprehensive Bidirectional Auditing Maintains clear trace links between your marketing feedback and backend CRM opportunities. 15-Minute Background Cron An automated scheduled background process scans active parameters every 15 minutes. It catches data imports or offline direct writes, ensuring no qualified lead slips through system cracks. Bi-Directional Breadcrumbs Every generated opportunity contains an active link back to its specific source survey and individual answer record. Simultaneously, the response layout locks onto a link to the CRM record it generated. Operational Smart Buttons Adds intuitive analytics smart counters directly onto the Survey dashboard layout. Displays the total volume of generated leads instantly, offering rapid conversion insights. Quick 3-Step Setup Routine 1. Navigate to any survey form and click the new CRM Integration tab configuration panel. 2. Check "Auto-Convert Responses to CRM Leads" and assign your destination Sales Team, Agent, and Tags. 3. Add optional filtration rules mapping questions to explicit answers (leave blank to ingest all submittals). Save changes. Seamless Tabbed Administration Direct integration into native Odoo frameworks alongside core question and validation layouts. Developed with by SyncSoft Team Need help tailoring automatic conversion triggers or linking questionnaire outputs to complex lead distributions? We are here to support you! Contact Us

Surveys v17.0v18.0v19.0
Soft Validation Before Save icon

Soft Validation Before Save

soft_validation_before_save

Soft Validation Before Save Configurable Non-Blocking "Are You Sure?" Confirmations Before Form Save in Odoo 19 Prevent accidental typos, abnormally high invoice amounts, or inconsistent data inputs. Triggers a soft confirmation dialog allowing users to double-check or proceed without blocking the save workflow. Odoo 19.0 Zero Custom Coding Needed All Models Compatible Non-Blocking Soft Warning How Soft Validation Works Form Intercept: Intercepts the Save action on form views before data is permanently written to the database. Active Rule Evaluation: Sends current form values to the server to check against UI-configured rules for that model. Soft Confirmation Dialog: If an anomaly is detected, a confirmation popup appears with your custom title and message asking: "Are you sure?" Human Choice: The user can click Confirm to finish saving, or Cancel to adjust the form inputs. Fail-Safe Guarantee: If a rule cannot be evaluated due to technical errors or domain misconfigurations, it skips silently to ensure legitimate saves are never blocked. DEMO WATCH NOW Condition 1 Amount Threshold Rules Select any numeric field (Integer, Float, Monetary), a comparison operator ( > , >= , < , <= , = , != ), and a limit. Example: Trigger confirmation if Total Amount > $10,000. Condition 2 Discrepancy Domain Rules Define custom Odoo domains to check form conditions that simple thresholds cannot cover. Example: [('partner_id', '=', False)] or custom selection field states. Supported Field Types for Validation Char Text Html Boolean Integer Float Monetary Selection Date Datetime Note: Relational fields (Many2one, One2many, Many2many) are intentionally excluded from form payload evaluation to optimize performance. Keep domain rules targeted on the supported scalar field types listed above. Confirmation Dialog Example ------------------------------------------------------------------ High Order Amount Warning ------------------------------------------------------------------ The total amount ($15,500.00) exceeds the configured threshold of $10,000.00. Are you sure you want to save this record? [ Cancel ] [ Confirm Save ] ------------------------------------------------------------------ Config Access Settings ‣ Technical ‣ Soft Validation Rules Multi-Company Global or per-company rules supported Trigger Layer Runs prior to standard @api.constrains Complete User Interface Walkthrough A clean, standard Odoo UI matching the core accounting platform theme flawlessly. SEO Terms: Odoo soft validation before save, Odoo form save confirmation dialog, popup warning before save Odoo 19, soft_validation_before_save, Odoo amount threshold validation, confirmation popup Odoo technical rules, non blocking save confirmation, SyncSoft. Developed with by SyncSoft Team Contact Us

Extra Tools v17.0v18.0v19.0 $8.85
Sale Price Below Cost Warning Rules icon

Sale Price Below Cost Warning Rules

sales_price_margin_protector

Sale Price Below Cost Warning Rules Automated Margin Protection & Loss Prevention Never sell at a loss again. Instantly monitor sales margins and block unauthorized below-cost orders before they reach your warehouse. Odoo 19.0 Margin Protection Loss Blocker Are Rogue Discounts Eating Your Profits? In high-volume retail and wholesale, a simple typo or an unauthorized sales discount can lead to selling products below their actual cost price . Standard Odoo does not prevent users from confirming these loss-making orders. By the time finance or management notices the mistake, the inventory is already shipped and invoiced, permanently draining your bottom line. Module Demonstration Watch a complete walkthrough of the module and see how it works in Odoo. Watch Demo Video Intelligent Safeguards How this module automatically audits and protects every single Sales Order line. Live Margin Calculations Automatically computes the precise unit cost, exact margin amount, and margin percentage for every individual sales order line on the fly. Dual-Tier Visual Warnings Displays an immediate Red Warning on lines priced below product cost, and an optional Orange Warning if lines fall below your custom minimum margin percentage. Hard Confirmation Block Strictly blocks standard users from confirming any Sales Order containing below-cost lines. Stops loss-making sales before they reach fulfillment or invoicing. Managerial Override Allows authorized Sales Managers to override the block on a case-by-case basis, requiring a mandatory written justification logged directly to the order chatter. Designed for Sales Leadership Centralized Management View Includes a dedicated, company-wide management screen that isolates and lists every single below-cost order line. Perfect for retail and wholesale managers conducting operational follow-ups. Multi-Company Configuration Fully configurable on a per-company basis directly from Sales > Configuration > Settings . Customize margin thresholds and toggle rules depending on each business unit's policy. High-Visibility Interface See how warnings and blocks appear inside your native Odoo workflows. Developed with by SyncSoft Team Need help setting up your margin rules or have custom workflow requests? We are here to support you! Contact Us

Sales v17.0v18.0v19.0
Sale Order Line Fixed Amount Discount icon

Sale Order Line Fixed Amount Discount

sale_fixed_discount_line

Sale Order Line Fixed Amount Discount Apply Flat-Rate Monetary Deductions Instantly Stop calculating awkward percentage decimals. Empower your sales team to offer precise, fixed monetary discounts directly on individual sales order lines and invoices. Odoo 19.0 Flat-Rate Deduction Flawless Tax Math The Frustration of Percentage-Only Discounts Standard Odoo forces your sales team to use percentages for all discounts. If a customer is buying a product for $299.00 and your agent wants to give exactly a $50.00 discount to close the deal, they are forced to calculate and input a messy percentage like 16.7224% . This causes rounding errors, looks unprofessional on printed customer quotes, and wastes valuable time. Clean & Precise Pricing Control Give your team the flexibility to choose exactly how they discount their deals. Dynamic Discount Toggle Introduces a new "Discount Type" dropdown on every order line. Seamlessly toggle between Odoo's standard Percentage (%) mode and the newly added Fixed Amount ($/€/MNT) mode on the fly. Frictionless Invoice Integration The precise fixed monetary discount is automatically carried over when converting the Sales Order into a Customer Invoice. No manual re-entry required—accounting totals will match perfectly. Native Tax Recalculation Flat-rate deductions are applied securely before taxes . The module hooks directly into Odoo's core pricing engine, ensuring that all subsequent VAT/Sales Tax computations are 100% compliant and accurate. Built-In Smart Validations Protects your bottom line automatically. The system actively prevents agents from entering negative discount values and strictly blocks discounts that exceed the line's gross subtotal (price_unit * quantity) . How to Apply a Fixed Discount 1. Create a Sales Order and add your desired products to the order lines. 2. On any line, click the new Discount Type column and switch it to Fixed Amount . 3. Type your exact deduction (e.g., 10,000) into the Fixed Discount field. 4. The Subtotal instantly updates. Save the order and generate the invoice as usual. Search Keywords & Use Cases: Odoo fixed discount, sale order line fixed amount discount, flat rate discount Odoo, absolute amount discount, monetary discount sales, Odoo invoice fixed discount, custom discount type Odoo, sale_fixed_discount_line, avoid percentage decimals, exact amount deduction, Odoo B2B pricing, retail fixed discount on SO, Odoo quotation flat discount. Simple User Interface Integrates smoothly into the existing Sales Order grid without adding visual clutter. Developed with by SyncSoft Team Need custom pricing rules, specialized promotional engines, or advanced B2B invoice formatting? We are here to support you! Contact Us

Sales v17.0v18.0v19.0
Sale Order Line Automatic Sequencer icon

Sale Order Line Automatic Sequencer

sale_line_auto_sequence

Sale Order Line Automatic Sequencer Flawless Line Numbering & Professional Document Layouts Eliminate Odoo's native row sorting bugs. Automatically assign clean, real-time running numbers (1, 2, 3...) to your sales order lines instantly as you build quotations. Odoo 19.0 Perfect Sequencing Clean PDF Reports Frustrated by Corrupted Sales Line Order and Tie-Breaks? In standard Odoo, newly added or unsaved sales order lines lack a persistent ID (represented as a temporary NewId ). When sales teams drag-and-drop rows, delete items, or mix products with sections and notes, Odoo's native sequence tie-breaker fails. This leads to scrambled row positions upon saving and messy, unnumbered PDF quotations that confuse your customers. Beautiful & Bulletproof Line Management A dedicated "No." column that behaves flawlessly across both backend screen views and printed paperwork. Live Dynamic Backend Numbering Adds a crisp "No." column to your Sales Order line grid. Numbers recalculate live on your screen as you add new items, remove products, or drag items into new slots—even before clicking Save. Polished PDF Quotation Output Injects matching sequential numbers onto the printed Quotation and Sales Order PDF reports. Aligns perfectly with standard templates to deliver clean, modern financial proposals. Smart Section & Note Skipping Maintains accurate professional logic. Section headers ( line_section ) and inline text notes ( line_note ) are skipped entirely from numbering, keeping data boundaries pristine. Retroactive Legacy Migration Comes armed with an automatic post_init_hook . Installing the module instantly and safely loops through your existing database records to number older, historic quotations cleanly. The Hybrid 3-Layer Safety Architecture Why this sequencer succeeds where standard compute fields and traditional loops fail. Layer 1: Persistent DB Truth Overrides model create/write/unlink actions. Normalizes line sequences to multiples of 10 upon saving to remove collisions. Operating solely on real IDs, it ensures database integrity. Layer 2: Onchange In-Session Engine Utilizes a native Python @api.onchange listener. While actively editing an order, it maps sequence strings based on real visible layout array indexes, bypassing NewId ambiguity. Layer 3: Instant OWL UI Safety Net Powered by a custom OWL framework JS widget. Derives values instantly from on-screen row DOM render objects during drag actions, falling back safely to Python values if client structural shifts occur. Visual Alignment & Workflow Validation Perfect backend and PDF matching that upgrades the core sales user experience. Developed with by SyncSoft Team Need help tailoring report layouts or adapting sequencing modules to highly customized apps? We are here to support you! Contact Us

Sales v17.0v18.0v19.0
Sale Order Grouper by Commercial Partner icon

Sale Order Grouper by Commercial Partner

sale_commercial_partner_grouper

Sale Order Grouper by Commercial Partner B2B Sales Consolidation & Parent Company Reporting for Odoo Stop struggling with scattered subsidiary orders. Instantly group, filter, and analyze Odoo sales orders by the top-level Commercial Entity (Parent Company) across all standard views. Odoo 19.0 B2B Sales Analytics Parent-Child Hierarchy The Nightmare of Fragmented Corporate Sales Data In native Odoo, if a corporate customer has multiple branches or subsidiaries placing orders, your Sales Order list groups them as completely separate entities. Trying to figure out the total revenue generated by the overarching "Parent Group" requires manual exports, tedious VLOOKUPs in Excel, or complex studio customization. You lose instant visibility into your most valuable B2B corporate accounts. Seamless Parent Company Consolidation Unleash the power of the Odoo Commercial Partner concept directly inside your sales pipeline. Advanced Search & Grouping Adds a dedicated "Commercial Entity" Group By dimension and Search Filter directly into the standard Odoo Sales Order search view. Consolidate hundreds of subsidiary orders in one click. Pivot & Graph Ready Because the commercial_partner_id field is physically stored in the database, it natively supports deep multidimensional analysis in Odoo Pivot tables and Graph views without performance drops. Zero Configuration Setup Plug and play. No complex mapping or studio configurations required. Install the module and the Commercial Partner data propagates retroactively to all existing historical sales orders. Technical Architecture & Studio Compatibility Built flawlessly on standard Odoo ORM relations for maximum scalability. Stored Field Performance Injects sale.order.commercial_partner_id as a stored related field pointing to partner_id.commercial_partner_id . This guarantees lightning-fast SQL queries when exporting large datasets or building dynamic custom dashboards. Wide App Compatibility Since it extends the base sale.order model, this enhancement acts as a foundation for other modules. It seamlessly supports Odoo Studio reports, automated actions, and custom API data extractions requiring parent-child hierarchy logic. How to Analyze B2B Sales 1. Navigate to Sales → Orders → Quotations (or Orders). 2. Click the search bar, expand the Group By menu, and select Commercial Entity . 3. Watch as scattered branch orders perfectly consolidate under their corporate parent groups. Use the Pivot view for financial aggregation. Search Keywords & Use Cases: Odoo sales order grouping, Odoo commercial partner filter, Odoo multi-company sales reporting, B2B sales consolidation Odoo, parent company sales order, Odoo subsidiary sales tracking, Odoo commercial entity pivot table, branch management sales reporting, Odoo enterprise sales analysis, sale_commercial_partner_grouper, parent child partner hierarchy Odoo, consolidated revenue tracking, Odoo quotation grouping by parent, B2B CRM sales alignment. Crystal Clear User Interface Integrated natively into the Odoo search pane alongside standard customer parameters. Developed with by SyncSoft Team Need further customization for enterprise sales analytics, automated hierarchy tracking, or complex reporting dashboards? We are here to support you! Contact Us

Sales v17.0v18.0v19.0
Sale Order Cancel Reason Enforcer icon

Sale Order Cancel Reason Enforcer

sale_cancel_reason_enforcer

Sale Order Cancel Reason Enforcer Mandatory Verification Wizards & Immutable Sales Loss Auditing Stop silent, unexplained sales order cancellations. Force sales teams to provide structured reasons and capture unalterable transaction snapshots for deep pipeline forensics. Odoo 19.0 Policy Enforcement Tamper-Proof Audit The Hidden Cost of Blind Sales Order Cancellations By default, Odoo allows any salesperson to kill a confirmed Sales Order with a single click and absolutely zero accountability. When deals vanish from your revenue stream, management is left completely blind. Was it a pricing mistake, an out-of-stock product, a customer retraction, or a payment failure? Without structured hurdles, you lose the vital revenue leakage data required to optimize your product catalog, sales pitches, and inventory pipelines. Bulletproof Sales Accountability Dynamic interceptive workflows that guarantee no transaction is dropped without a formal reason code. Mandatory Cancel Wizard Intercepts standard cancellation buttons instantly. Whether cancelling individual documents or selecting items in bulk via list views, users are prompted with a mandatory justification form before changes take effect. Conditional Text Requirements Configure specific reasons—such as "Pricing Error" or "Other"—to require mandatory free-text explanations. This ensures simple checkboxes are backed by proper qualitative context from the agent. Immutable Forensic History Logs historical entry snapshots inside a dedicated ledger. Captures user identity, precise timestamps, customer entities, and financial totals at the time of cancellation, fully protected from future edits. Sequenced Control Lists Comes loaded with standard out-of-the-box reasons like "Duplicate Order" and "Out of Stock." Sales managers can easily create, sort, or archive custom reasons to match corporate policy guidelines. Analytical Visibility & Security Segregation Deep dashboard diagnostics coupled with strict multi-tiered group permissions. Centralized Log Reporting Access full cross-order histories via Sales → Cancellation History . Group, filter, or pivot data by reason code, salesperson, or customer profile to discover operational bottlenecks. Smart Form Buttons Appends live counters and a read-only "Last Cancellation Reason" field directly onto the order layout. Clicking the smart button displays that specific order's complete disruption history. Least-Privilege Access Standard agents can trigger wizards and review reasons but are blocked from modifying master parameters. The absolute log remains unalterable for all roles except System Administrators. Behind the Scenes (Technical Design) This module securely overrides the native action_cancel() framework. When invoked, it pauses standard execution tracks to call the wizard. Upon formal user confirmation, the wizard populates the unalterable history log ( sale.order.cancel.history ) and safely triggers the base method using an explicit context key bypass ( skip_cancel_reason_enforcer=True ). This structural approach guarantees clean operations without risk of stack overflows or broken execution loops. Integrated User Interface Clean overlays and analytic smart badges mapped natively alongside standard sales document tools. Developed with by SyncSoft Team Looking to add corporate control filters, customize pipeline security settings, or streamline auditing dashboards? We are here to support you! Contact Us

Sales v17.0v18.0v19.0
Sale Order Auto Archive icon

Sale Order Auto Archive

sale_order_auto_archive

Sale Order Auto Archive Automated Pipeline Decluttering & Data Retention Stop drowning in old, cancelled, and locked sales records. Automatically sweep inactive orders out of your main views to keep your sales pipeline clean, fast, and focused—without ever deleting historical data. Odoo 19.0 Auto-Cleanup Zero Data Loss The Cost of a Cluttered Sales Pipeline Over the years, your Odoo database accumulates thousands of cancelled or permanently locked Sales Orders. Leaving them in the active view clutters the interface, distracts sales representatives, and slows down list searches. Manually archiving them takes hours of administrative work. You need a system that automatically hides the noise while keeping the data safely stored for financial audits and reporting. Smart Archiving Engine Set your rules once, and let Odoo maintain a pristine sales environment indefinitely. Time-Based Trigger Configure exactly how many months an order must remain inactive (based on its last update) before it is safely archived. Runs quietly in the background via a daily scheduled cron action. Flexible Target States Total control over what gets cleaned. Choose to archive only Cancelled orders, only permanently Locked orders, or both, depending on your company's operational retention policies. Transparent Audit Trails Never wonder where an order went. Every automated action generates a detailed record in the Auto Archive Log , and an automated message is instantly posted to the order's chatter. Surgical Exception Handling Have a historic cancelled order you need to keep visible? Simply check the "Exclude from Auto-Archive" flag on that specific document, and the engine will bypass it forever. Easy 3-Step Configuration 1. Navigate to Sales > Configuration > Settings . 2. Locate the Auto Archive section and enable "Automatically Archive Old Orders" . 3. Set your inactivity threshold (e.g., 6 months) and select your target states (Cancelled and/or Locked). Click Save. Archived orders are never deleted! You can always find them by typing "Archived" into the search bar filters. Search Keywords & Use Cases: Odoo auto archive, automated sale order cleanup, hide cancelled orders Odoo, Odoo database declutter, scheduled action archive, sale_order_auto_archive, archive locked sales orders, Odoo data retention policy, clean sales view, automatically deactivate records Odoo, sales pipeline performance, audit log archiving, Odoo cron job sales. Configuration & Tracking Interfaces Simple global settings paired with strict tracking logs for system administrators. Developed with by SyncSoft Team Need assistance optimizing your database size, setting up custom retention rules, or building advanced cron jobs? We are here to support you! Contact Us

Sales v17.0v18.0v19.0
Sale Delivery State on SO icon

Sale Delivery State on SO

sale_delivery_state_on_so

Sale Delivery State on SO Real-Time Fulfillment Progress & Logistics Tracking Stop guessing your order fulfillment status. Track the exact delivery percentage (%) and real shipment states directly on your Sales Orders and Quotation list views. Odoo 19.0 Progress Tracking Logistics Visibility The Blind Spot of Partial Fulfillments In standard Odoo, knowing exactly how much of a Sales Order has been physically delivered requires opening the order, clicking into the delivery smart button, and manually cross-referencing ordered vs. done quantities. For logistics managers handling partial shipments, backorders, and massive order lines, this lack of immediate visibility causes catastrophic shipping delays, customer miscommunication, and wasted administrative hours. Instant Shipping Intelligence Empower your sales and warehouse teams with clear, numeric, and visual delivery indicators. Visual Progress Bar A dynamic Delivery Progress (%) bar is prominently displayed on the Sales Order form. It automatically calculates the precise ratio of delivered quantities versus ordered quantities across all valid order lines. Four Distinct Delivery States Removes ambiguity with a clear status badge reading: Nothing to Deliver , Not Delivered , Partially Delivered , or Fully Delivered . Always know the exact operational stage of an order. Granular Line-Level Tracking Don't just see the global average. Each individual sales order line features its own embedded progress percentage, allowing agents to instantly spot which specific product is holding up the fulfillment. Advanced List Filtering Both the Delivery Progress percentage and Real Delivery Status are available as columns in your Quotations / Sales Orders list view. Effortlessly group or filter by "Partially Delivered" to manage your backorder pipeline. Bulletproof Architecture Designed for high-performance databases and strict mathematical accuracy. Database-Stored Computations Both `delivery_progress` and `delivery_real_state` are stored fields (`store=True`). This means grouping, filtering, and reporting on thousands of sales orders happens instantly without taxing your server CPU. Decimal Precision Safety Built using Odoo's native decimal precision parameters for "Product Unit of Measure". This guarantees that floating-point rounding errors won't accidentally trap an order at 99.99% delivered. How to Access Your New Metrics 1. Open any standard Sales Order form. Look right below the customer details to see the new Delivery Progress bar and status badge. 2. Navigate to Sales → Orders . Click the column selector (top right corner of the list) and enable Delivery Progress and Real Delivery Status . 3. Use the search bar's Group By feature to cluster your sales pipeline strictly by their physical fulfillment phase. Search Keywords & Use Cases: Odoo sales delivery status, Odoo delivery progress bar, partial delivery tracking Odoo, SO delivery percentage, sale order fulfillment status, Odoo logistics management tools, sale order tracking Odoo, real delivery state computation, sale_delivery_state_on_so, Odoo shipping progress indicator, backorder management filter, track delivered quantities sales order, Odoo warehouse dispatch visibility, Odoo B2B logistics tracking. Clear Visual Indicators Seamlessly integrated into standard Odoo sales views without cluttering the interface. Developed with by SyncSoft Team Need further adjustments to fulfillment calculations or custom logistics dashboards? We are here to support you! Contact Us

Sales v17.0v18.0v19.0
SEO City Landing Page Generator icon

SEO City Landing Page Generator

seo_city_landing_page_generator

SEO City Landing Page Generator Scale Local SEO at Speed — Bulk-Generate City & District Landing Pages in Odoo Stop manually creating hundreds of location-based service pages. Combine reusable service templates with location catalogues to bulk-generate Google-optimized landing pages with custom meta tags, clean URLs, and automatic sitemap integration. Odoo Website & SEO Dedicated 1-Click Bulk Generator Auto Sitemap & SEO Mixins Why Manually Creating Hundreds of Local SEO Pages Doesn't Scale Local service businesses (plumbers, cleaners, movers, clinics, agencies) need dedicated pages like "Plumbing in Springfield" or "House Cleaning in Shelbyville" to rank on Google. Doing this by hand takes endless hours. This module lets you write a master template once with dynamic placeholders, connect your city catalog, and instantly generate hundreds of ready-to-publish SEO landing pages. WATCH NOW Professional Local SEO Automation Features A fully robust frontend and backend framework ensuring high Google search visibility, clean page architecture, and easy content management. Token-Based Master Templates Define meta titles, descriptions, H1 headers, custom URLs, and HTML bodies using dynamic tokens like {service} , {city} , {district} , {region} , and {company_name} . Hierarchical Location Catalogue Organize countries, states, regions, cities, and districts linked directly to standard Odoo res.country models for precise geographic targeting. Bulk Generation Wizard Select multiple templates and target locations in a single wizard run. Easily skip or refresh existing combinations with guaranteed unique URL slug generation. Native SEO & Sitemap Integration Built on Odoo’s website.seo.metadata & website.published.mixin . Published pages live at clean /landing/<slug> URLs and auto-sync with sitemap.xml . Dynamic Tokens & System Architecture Flexible string formatting tokens and native Odoo Website framework integration. Supported Placeholder Tokens Token Replaced With {service} Template Service Name {city} Location Name {district} District Name (or Location) {region} / {state} State or Parent Region {year} / {company_name} Current Year & Company Name Technical Mixins & Security Technical Layer Odoo Integration Metadata Layer website.seo.metadata Publishing Pipeline website.published.mixin Public Controller GET /landing/<slug> Access Control SEO User & SEO Manager groups Operational Setup Guide 1. Build your target location list in SEO Landing Pages → Configuration → Locations . 2. Create service templates in SEO Landing Pages → Configuration → Templates using dynamic placeholder tokens. 3. Go to SEO Landing Pages → Generate Pages , select your target templates and locations, and click Generate Pages . 4. Review generated pages under SEO Landing Pages → Landing Pages and click Publish to make them live instantly! Highly Search-Optimized Keywords: Odoo SEO city landing page generator, bulk local seo page builder odoo, odoo local seo generator, seo_city_landing_page_generator, website_meta_keywords odoo, dynamic city landing page builder, website sitemap integration odoo, SyncSoft. User Interface Walkthrough A clean, standard Odoo backend UI matching core website management tools flawlessly. Future Development Roadmap Integration with AI text rephrasing engines to automatically vary content paragraphs across neighboring cities. Direct Google Search Console API integration for instant indexing request submissions. Embedded lead capture forms tailored per city landing page with automatic CRM lead tagging. A/B testing support for localized meta title and description variations. Developed with by SyncSoft Team Contact Us

Website v17.0v18.0v19.0
Retroactive Stock Movement Blocker icon

Retroactive Stock Movement Blocker

prevent_backdated_picking_done

Retroactive Stock Movement Blocker Enforce Inventory Lock Dates & Eliminate Financial Valuation Gaps Lock your warehouse periods definitively. Block backdated stock transfers and retroactive inventory movements from altering closed financial periods. Odoo 19.0 Financial Integrity Multi-Company Aware The Nightmare of Post-Closing Backdated Stock Adjustments When warehouse operators or manufacturing managers validate stock pickings with a retroactive effective date into an already-closed financial period, it silently corrupts your Inventory Valuation. The General Ledger and physical stock ledger drift out of balance, triggering massive compliance failures, distorted margin analysis, and hours of frustrating audit investigation to locate the mismatched journal entries. Module Demonstration Watch a complete walkthrough of the module and see how it works in Odoo. Watch Demo Video Bulletproof Warehouse Accounting Controls Rigid blockades preventing date tampering across picking operations, manufacturing inputs, and point-of-sale configurations. Company-Level Lock Dates Set independent Stock Movement Lock Dates for each entity inside your multi-company ecosystem. Financial controller groups manage these dates via standard Inventory Settings. Omnichannel Move Restrictions Protects the database from hidden loopholes. Blocks the "Validate" action on standard stock pickings AND intercepts direct stock.move updates from Manufacturing (MRP) or Point of Sale. Historical Date Change Block Prevents users from bypassing rules after validation. Any attempt to modify the completion date of a previously closed picking to a historical locked date is instantly rejected. Descriptive Error Exceptions Provides helpful feedback to operators. When validation parameters block an action, the module triggers descriptive user alerts explaining the timeline boundary rule. Low-Level Database Interception Architecture Why this validation safeguard is completely bypass-proof. Multi-Model Method Overrides By injecting guardrails into core execution tracks ( button_validate , _action_done , and the base write methods of both stock.picking and stock.move ), the restriction applies evenly whether processing UI clicks, API imports, or third-party barcode integrations. Automated Testing Suite Included Comes armed with internal automated python unit tests (under tests/ ). Validates multi-company date variance boundaries during routine pipeline code alterations, ensuring future stability. Activation & Deployment Strategy 1. Navigate directly to Inventory > Configuration > Settings using an Inventory or Accounting Administrator account. 2. Locate the "Retroactive Stock Movement Blocker" cluster and define your target Stock Movement Lock Date . 3. Save settings. The backend validation loop automatically secures transactional inventory dates. Administrative Controls Dashboard Clean configuration configurations seamlessly appended to core native Odoo inventory parameter trees. Developed with by SyncSoft Team Looking to customize automated accounting thresholds or restrict historical stock movements across bespoke apps? We are here to support you! Contact Us

Inventory v17.0v18.0v19.0
Recurring Payments Automator icon

Recurring Payments Automator

account_recurring_payment_community

Recurring Payments Automator Automated Subscription Invoicing, Dunning Reminders & OWL Analytics for Odoo Community Stop manually generating monthly rent, retainers, and subscription invoices. Automate the entire billing cycle from creation to auto-posting, customer emailing, dunning reminders, and real-time MRR analytics. Odoo Community Dedicated Live MRR Dashboard Fully Automated Billing & Dunning Unlock Enterprise-Grade Subscription Billing Without Enterprise Licensing Managing recurring customer billing—whether for commercial real estate rent, SaaS subscriptions, retainer services, or memberships—is prone to human error when handled manually. Missed invoice dates stall cash flow, uncollected overdue invoices pile up, and tracking Monthly Recurring Revenue (MRR) requires messy spreadsheets. This module brings full end-to-end recurring automation and an interactive OWL reporting dashboard directly into Odoo Community Accounting! DEMO WATCH NOW End-to-End Recurring Billing Framework Designed for accountants, property managers, service agencies, and subscription businesses. Flexible Recurrence Schedules Set up custom billing schedules per client with flexible intervals (days, weeks, months, years). Define flexible termination conditions: never-ending, fixed end date, or capped at a specific total invoice count. Auto-Post & Auto-Email Engine Let background crons (`ir.cron`) generate invoices on schedule. Optionally auto-post journal entries and dispatch customized PDF invoices directly to clients via configurable email templates without manual intervention. Smart Overdue Dunning Reminders Eliminate late payments. The automated reminder engine checks for unpaid recurring invoices and sends follow-ups based on configurable initial delays, repeat intervals, and maximum attempt limits. Analytics & Analytic Distribution Full accounting precision. Map recurring invoice lines to specific products, multiple tax rules, payment terms, and analytic distribution models for advanced cost and revenue center tracking. Built-In OWL Interactive Executive Dashboard Gain immediate visual insights into your business metrics with a high-performance OWL frontend dashboard. MRR Metric Live MRR Monthly Recurring Revenue Active Schedules KPI Cards Active / Draft / Paused / Closed Revenue Trend 12-Mo Chart Historical Invoiced Amount Top Customers Leaderboard Revenue & Overdue Tracker Quick Setup Guide 1. Assign users to Recurring Payments / User or Manager access groups under Settings > Users . 2. Go to Recurring Payments > Recurring Payments and configure a schedule (Customer, Journal, Lines, and Recurrence Interval). 3. Configure Automation settings (Auto Post, Auto Email, and Dunning Reminder schedules) and click Confirm . 4. The background daily automated actions will handle generation, emailing, and reminders on schedule! Highly Search-Optimized Keywords: Odoo recurring payment community, recurring invoicing Odoo, MRR dashboard Odoo community, subscription management Odoo, account_recurring_payment_community, auto invoice generator cron, overdue payment reminders Odoo, rent management invoicing, SyncSoft. User Interface & Dashboard Overview Designed with modern OWL technology to match native Odoo enterprise aesthetics. Developed with by SyncSoft Team Contact Us

Accounting v17.0v18.0v19.0
Rate of Sale & Stock-Out Forecast icon

Rate of Sale & Stock-Out Forecast

stock_rate_of_sale_forecast

Rate of Sale & Stock-Out Forecast Predict Stock-Outs with Real-Time 30/60-Day Sales Velocity & Automated Risk Alerts Stop relying on static reordering rules or guessing inventory turnover in Excel. Automatically calculate daily sales velocity per warehouse, forecast days remaining before stock-outs, and get automated risk warnings directly inside Odoo Inventory. Odoo Stock & Inventory Dedicated 30 & 60-Day Velocity Engine Configurable Risk Thresholds Prevent Revenue Loss From Unexpected Stock-Outs Static reorder points fail when demand fluctuates rapidly, leading to stock-outs of best-sellers or capital locked in slow-moving items. This module continuously analyzes actual customer outgoing stock moves (net of returns) over 30 and 60-day windows. It categorizes products into Critical, Warning, Healthy, or Out of Stock risk levels so replenishment teams can reorder proactively. WATCH NOW Comprehensive Inventory Forecasting Features An automated analytics framework ensuring multi-warehouse accuracy, flexible recomputation, and early replenishment warnings. Dual-Window Sales Velocity Calculates both 30-day and 60-day average daily sales velocity per warehouse. Includes automated net calculations by subtracting customer returns from outgoing stock moves. Automatic Risk Classification Categorizes every product/warehouse pair into Critical , Warning , Healthy , Out of Stock , or No Sales Data based on per-company threshold settings (e.g. 21-day Warning, 7-day Critical). Daily Cron & Manual Wizard Runs a daily background scheduled action to keep all forecasts updated. Includes a manual wizard to recompute on demand for specific warehouses or product lines. Pivot, Graph & Smart Buttons Direct integration with Product Template forms via a smart button. Offers interactive Pivot, Graph, and List views for supply chain analysts and inventory managers. Rate of Sale Calculation Engine Explicit stock move filtering ensures precise financial and operational metrics. Stock Move Formula Metric Step Calculation Logic Outgoing Qty Done moves (Warehouse → Customer) Return Qty Done moves (Customer → Warehouse) Net Quantity Sold Outgoing Qty − Return Qty Stock-Out Forecast Formula Forecast Field Calculation Logic Rate of Sale (ROS) Net Quantity ÷ Period (30 or 60 Days) Days to Stock-Out On Hand Quantity ÷ ROS Estimated Date Today + Forecast Days Operational Setup Guide 1. Navigate to Inventory → Configuration → Settings → Rate of Sale Forecast and adjust Warning/Critical thresholds (default 21 and 7 days). 2. Run an initial computation via Inventory → Rate of Sale Forecast → Compute Rate of Sale or let the daily cron trigger automatically. 3. Review risk states under Inventory → Rate of Sale Forecast → Forecast Report and filter by Critical or Warning items. 4. Access individual product forecasts instantly using the Rate of Sale smart button on any Product form. Highly Search-Optimized Keywords: Odoo rate of sale, stock out forecast odoo, inventory sales velocity, forecast days remaining odoo, stock_rate_of_sale_forecast, odoo stock replenishment warning, run out of stock alert odoo, warehouse velocity reporting, SyncSoft. User Interface Walkthrough Clear reporting, configurable settings, and intuitive smart buttons inside standard Odoo Inventory. Future Development Roadmap Automated email/activity alerts sent to purchasing managers when items drop into Critical status. One-click automated Purchase Order creation pre-filled with suggested replenishment quantities. Customizable calculation windows (e.g., 7-day, 14-day, or 90-day seasonal trend analysis). Developed with by SyncSoft Team Contact Us

Inventory v17.0v18.0v19.0
Personal Quick Access Shortcuts icon

Personal Quick Access Shortcuts

web_shortcuts_quick_access

Personal Quick Access Shortcuts The "Browser Bookmarks Bar" Built Natively for Your Odoo Workspace Stop wasting time digging through menus and rebuilding search filters. "Star" any active screen, report, custom-filtered list, or specific document in Odoo and launch it instantly with 1-click from your top navigation bar. Odoo 19.0 Personalized Bookmarks Instant UX Booster The Daily Odoo Clicks Nightmare How many steps does it take you to check "My Overdue Invoices in Group X"? You click Accounting, then Invoices, select filters, type your group, and group by due date— every single day . When you switch to check a task, your custom filter is lost, forcing you to rebuild it all over again. Standard Odoo favorites only save basic searches, but they can't jump across apps or save dynamic contexts. This constant clicking drains user focus, creating an annoying, repetitive navigation bottleneck. DEMO WATCH NOW Work at Lightning Speed A generic, lightweight engine that lets you bookmark any dynamic state, view, or filter inside Odoo. One-Click Systray Bookmarking Save your current workspace directly from the global Odoo top bar (systray). Name your shortcut, choose an icon, and it's instantly pinned. Access your active dashboards, workflows, and records from anywhere in Odoo. Preserves Context & Filters Unlike basic menu links, this module captures the exact active domain, search filter, view type (list, kanban, pivot, chart), and active record context . Jumping back restores your workspace exactly how you left it. "My Shortcuts" Dashboard An administrative screen where users can organize their workspace. Use drag-and-drop handles to reorder items , write personal descriptive notes, assign custom FontAwesome icons, or temporarily archive shortcuts. Strict User Privacy Isolation Built with strict Odoo record rules. Every user manages their own secure private shortcuts. Administrators retain master visibility over records only to help troubleshoot or support user profiles. Clean Javascript & Controller Engineering Designed to remain robust even when underlying menu structures or permissions change. Intelligent Fallback URL Engine If an underlying action is deleted or access rights are modified, the shortcut doesn't crash your system. The module automatically falls back to restoring your workspace using the originally captured browser URL. 100% Generic & Cross-App Compatible No hardcoded app dependencies. It reads state dynamically from Odoo's core `action` service. Works seamlessly on custom modules, Sales, CRM, Invoicing, Project, Inventory, and custom enterprise dashboards. How To Use It 1. Navigate to any menu, specific form view, or filtered list (e.g. Sales Orders filtered by "Your Team"). 2. Click the **Star icon** in the top-right Odoo systray menu. 3. Click **"Bookmark current page"**, type a custom title, and hit Save. 4. Open your star menu from anywhere in the system to return to that exact screen in 1-click. Highly Targetable Search Terms: Odoo personal shortcuts, Odoo quick access bookmarks, save custom search Odoo, Odoo navigation helper, Odoo top bar star menu, web_shortcuts_quick_access, Odoo CRM quick navigation, Odoo drag and drop list reorder, Odoo browser favorites toolbar, save filter domain Odoo, Odoo custom bookmarks bar, Odoo productivity tools, SyncSoft. Feature Interface Preview Minimalist, native design integration to ensure zero distractions and maximum speed. Developed with by SyncSoft Team Looking for customized user dashboards, automated view configurations, or tailored Odoo web-client optimizations? Our development team is ready to scale your system's efficiency! Contact Us

Productivity v17.0v18.0v19.0
Password Security Policy Enforcer icon

Password Security Policy Enforcer

password_security_policy_enforcer

Password Security Policy Enforcer Enterprise Password Complexity, Expiry Lifecycles, & Reuse Prevention Stop weak passwords from compromising your ERP data. Enforce multi-layered corporate password complexity rules, prevent reuse via encrypted history tracking, and automate expiry workflows for all backend, portal, and public signup users. Odoo 19.0 Ready ISO 27001 / GDPR Compliant Advanced Hardening The Danger: Standard Odoo Invites Brute-Force & Weak Passwords Out of the box, Odoo allows users, portal contacts, and public signups to set dangerously weak passwords like "123456" or "welcome1". Even worse, users can reuse the same compromised password forever because Odoo never expires credentials or tracks history. This exposes your entire business—including financial data, client contacts, and payroll—to corporate espionage and automated brute-force attacks. Relying on employee goodwill to maintain safe credentials is a ticking security time bomb. DEMO WATCH NOW Bulletproof Password Lifecycle Controls An automated, centralized defense framework ensuring every single login meets dynamic global security criteria. Granular Complexity Enforcer Define strict validation rules. Mandate minimum character counts and force the inclusion of uppercase letters, lowercase letters, numbers, and special symbols. Instantly blocks weak combinations globally. Encrypted History & Anti-Reuse Stop users from toggling between two identical passwords. The module safely records a secure cryptographic hash of the past N passwords, blocking them from recycling old credentials. (Plaintext is never stored). Automated Lifecycle Expiry Enforce routine password updates every 60, 90, or 180 days. Once the expiration threshold is crossed, the system automatically flags the user profile and triggers a forced redirection to update fields upon logging in. Proactive In-App & Mail Alerts A smart cron background task monitors upcoming expirations. It automatically sends email warnings via clean custom templates and populates a persistent, sticky warning banner inside the backend layout interface. Configuration Parameters & Policy Rules Adjust variables inside Odoo's standard configuration panel to match your exact corporate IT guidelines. Security Parameter Operational Functionality Default Value Enforce Password Security Policy Master control switch to toggle validation behavior across the server cluster Enabled Minimum Password Length Configures the baseline minimum size requirements for string arrays 8 Characters Character Sets (A-Z, a-z, 0-9, Symbols) Dynamic Boolean fields to toggle mandatory cryptographic diversity sets All Enabled Prevent Password Reuse Defines the size (N) of the encrypted historical tracking queue to prevent cycling Last 5 Passwords Password Expiry Window Defines operational day counts before individual login keys expire 90 Days Expiry Reminder Trigger Lead time in days to initialize warning emails and sticky interface web notifications 7 Days Prior Zero-Overhead Core ORM Integration Universal Hook Intercepts the native `_set_password()` level on `res.users`. This ensures 100% absolute protection across all entries: user sheets, portal registration, reset emails, and admin wizards. Secure Hash Engine Utilizes Odoo's internal password crypt context logic. Your actual characters are never stored in plaintext within database history lines, preventing memory or log leaks. Safe Activation Runs purely going forward. It never retroactively locks out active accounts on installation day; history tracking initiates smoothly during each account's next credential cycle. Security SEO Terms & Search Triggers: Odoo password security policy, enforce password complexity Odoo, Odoo password expiration date, prevent password reuse Odoo, Odoo login security hardening, secure portal signup Odoo, force password reset cron, password history tracking hash, password_security_policy_enforcer, Odoo web client warning banner, GDPR security compliance Odoo, ISO 27001 Odoo app, SyncSoft. Operational Walkthrough Fully native integration into Odoo's core client structure for frictionless end-user operations. 1. Centralized Management Control Panel Displays the dedicated parameters form embedded smoothly inside Odoo's General Settings for managing strength requirements, expiry timelines, and thresholds. 2. Real-Time Password Complexity Rejection Shows the explicit Odoo validation error popup modal triggered when a backend or portal user attempts to utilize a weak or previously recycled combination. 3. Persistent In-App Web Client Warnings The sticky UI banner appearing across all backend apps when an operator's password lifecycle approaches its expiration date, reminding them to update. Developed with by SyncSoft Team Need further customization on mail flows, priority scheduling, or customized email templates? We are here to support your team! Contact Us

Extra Tools v17.0v18.0v19.0
Partner Unique Email Validator icon

Partner Unique Email Validator

contact_email_uniqueness_enforcer

Partner Unique Email Validator Enforce Contact Email Uniqueness & Clean Database Hygiene Stop split sales ownership and corrupted marketing lists. Block duplicate contacts at the exact moment of creation with intelligent email verification. Odoo 19.0 Marketing & CRM Zero Duplicates The Hidden Cost of Duplicate Contacts When multiple records share the same email address, your CRM data decays. Marketing campaigns waste budget by sending duplicate emails to the same recipient (destroying your domain reputation), and sales reps assign overlapping tasks, creating internal confusion. Standard Odoo does not restrict duplicate emails, allowing your database to get messy over time. Module Demonstration Watch a complete walkthrough of the module and see how it works in Odoo. Watch Demo Video Powerful Enforcement & Audit Tools Maintain pristine contact records with proactive blockers and historical data analysis. Proactive Creation Block Strictly blocks users from creating or saving a contact if the email already exists elsewhere in the system, throwing a clear, descriptive validation error. Smart Normalization Completely case-insensitive and whitespace-tolerant. Checks like [email protected] and JOHN @Mail.com are automatically caught and restricted. Configurable Rules & Scope Run a strict global check across all companies, or isolate the uniqueness rule within individual companies in a multi-company Odoo setup. Duplicate Email Audit Report Includes a built-in historical data auditing tool. Safely analyze, review, and merge legacy duplicate contacts before turning the active block on. Safe & Flexible General Settings Master Toggle Control Enable or disable the validation rule at any point from Settings > General Settings > Contact Email Uniqueness instantly without needing to uninstall the module. Ignore Archived Contacts Choose whether you want to exclude archived/deactivated contacts from the validation matrix, avoiding conflicts with legacy or historic customer records. Seamless Interface & Configuration Clean configuration and native validation dialogs that fit perfectly into the Odoo eco-system. Developed with by SyncSoft Team Need assistance setting up your contact deduplication workflows or want a customized validation rule? We are here to support you! Contact Us

CRM v17.0v18.0v19.0
Partner First Name & Last Name Splitter icon

Partner First Name & Last Name Splitter

partner_firstname_lastname_splitter

Partner First Name & Last Name Splitter Unlock True Personalization for Odoo CRM & Mass Mailing Stop sending robotic "Dear John Doe" emails. Automatically split Odoo contact names into dedicated First Name and Last Name fields for flawless QWeb reports, professional email templates, and marketing automation. Odoo 19.0 Mass Mailing Ready CRM Personalization The "Single Name Field" Marketing Disaster Standard Odoo relies on a single `name` field for contacts. When your marketing team uses this field in automated emails, clients receive awkward greetings like "Dear Smith John" or "Hello John Doe" . This instantly kills personalization, decreases email open rates, and makes your brand look highly automated. You need native, synchronized First Name and Last Name separation to build trust and write naturally formatted documents. Seamless Bi-Directional Synchronization A robust backend engine that handles the name splitting automatically, without disrupting standard Odoo functionality. Two-Way Live Sync Edit the "First Name" and the system updates the full "Name". Edit the global "Name" and the system intelligently re-splits it. Standard search, sorting, and `display_name` methods remain 100% unbroken. QWeb & Email Integration Directly access `firstname` and `lastname` inside standard Odoo email templates, mass mailing campaigns, and printed PDF QWeb reports. Instantly available in the Odoo dynamic field picker. Import & API Compatible Importing massive CRM databases via CSV/XLSX or syncing via external XML-RPC/REST APIs? The split logic triggers automatically on creation and write operations, securing data integrity. Smart UI Visibility The new fields intelligently appear only for Individual contacts. Companies maintain their unified corporate name structure. Available as optional columns in your Contacts list view. Ready for Immediate Use No complicated setup. Use the fields directly in your existing templates. QWeb Reports (Invoices, Quotes) <span t-field="doc.partner_id.firstname"/> Mail / Mass Mailing Templates Dear {{ object.firstname }}, Highly Optimized Search Keywords: Odoo split partner name, Odoo first name last name, Odoo contact name split, res.partner first name, Odoo mass mailing personalization, Odoo CRM email templates, split name field Odoo, Odoo QWeb report first name, Odoo contact management, Odoo marketing automation, separate first and last name Odoo, Odoo contact import split, name separation module Odoo, custom email variables Odoo, partner_firstname, SyncSoft. Clean Contact Interface Perfectly integrated into the standard Odoo Contact form layout. Developed with by SyncSoft Team Need assistance with advanced CRM data migration, custom QWeb reporting, or marketing automation flows? We are here to support your growth! Contact Us

CRM v17.0v18.0v19.0
One-Click User-Employee Linking Wizard icon

One-Click User-Employee Linking Wizard

one_click_user_employee_link

One-Click User-Employee Linking Wizard Simplify Your HR & User Onboarding Workflow Stop navigation jumping between Settings and HR apps. Connect system users to HR employee records instantly from a single unified wizard. Odoo 19.0 HR Optimization 1-Click Action Tired of the Multi-Screen Navigation Trap? In standard Odoo, linking a User account to an Employee record is a disconnected process. You have to open the Settings app, copy user details, switch over to the Employees app, find the employee, and manually map them. This constant tab-switching wastes time during high-volume corporate onboarding and often leads to unlinked profiles. Smart Single-Window Solutions Three main operational modes built directly into your native HR dashboard. Link Existing Employee Pick any existing employee record that doesn't have a user attached yet, and pair them with your target Odoo user in just one click. Instant Employee Creation Create a brand new HR employee profile straight from the wizard. It automatically pre-fills the Name, Work Email, and Company directly from the user account. Safe Re-Linking Guard Prevents accidental data overrides. If a user is already linked to an employee, the wizard flags it and demands an explicit confirmation before changing links. 3 Seamless Access Points Launch the wizard right from where you are working without breaking your focus. Employees Configuration Go to Employees app > Configuration > Link User to Employee to open a clean global window and map any standalone user account. User Form Smart Button A dedicated "Link Employee" button is added onto the standard Odoo User Form view, pre-filling the wizard with that exact user data. Employee Form Button Appears dynamically on employee profiles that lack linked system users, giving managers an immediate route to assign user access. Security & Group Restrictions: Data privacy and organizational mapping are critical. To maintain administrative integrity, access to this wizard is strictly limited to authorized accounts belonging to the HR Managers ( hr.group_hr_manager ) and System Administrators ( base.group_system ) groups. Built natively using Odoo core dependencies, requiring zero external Python packages. Unified Single-Window View Clean wizards and strategic button placements that match Odoo's design guidelines perfectly. Developed with by SyncSoft Team Need help with your HR automation setup or have additional customization requests? We are here to support you! Contact Us

Employees v17.0v18.0v19.0
Last Viewed Records Bar icon

Last Viewed Records Bar

web_last_viewed_records_bar

Last Viewed Records Bar Instant 1-Click History Navigation & Breadcrumbs for Odoo 19 Eliminate tedious back-and-forth clicking. Add a dynamic, slim quick-access bar directly beneath your main application menu to jump back to your 5 most recently opened records instantly. Odoo 19.0 Zero-Click History Boost Navigation UX The Problem: Lost Context and Endless Re-Searching How many times a day do your employees open a Sales Order, get distracted by a phone call, switch to a Contact card, and then have to re-search, filter, and scroll just to get back to that exact same Sales Order? In Odoo, navigating back to recently viewed records requires constant back-button clicking or manual search. This friction costs each user 15–30 minutes of wasted search time daily, disrupting focus and making daily operations unnecessarily slow. Module Demonstration Watch a complete walkthrough of the module and see how it works in Odoo. Watch Demo Video Elevate Your Daily Work Productivity A beautiful, lightweight, and completely automated history bar tailored perfectly to each user's unique workflows. 100% Personalized & Secure History is tracked strictly per-user in Odoo. Every sales agent, accountant, and inventory manager has their own secure, isolated browsing history bar. Users only see what they have recently opened. Smart Access Filter Zero broken link errors. The system automatically performs permission checks and data existence scans. If a record is deleted or a user loses permission, the bar automatically removes it from view. Lightweight Performance Designed for fast-paced corporate Odoo environments. Utilizes a single, highly optimized small database table. No heavy computation, no modification to existing core modules, and absolutely zero business logic impact. Native Odoo 19 Design The navigation bar sits perfectly integrated below the main Odoo header menu. It matches standard enterprise CSS guidelines, adapts to different themes, and looks like a built-in core feature. Bulletproof Architecture Built following Odoo's standard framework guidelines to ensure clean upgrades and reliable stability. Clean Auto-Scrubbing By listening to core actions, the module maintains a strict queue of the 5 latest items. Old history indices are cleaned dynamically, avoiding database bloat or unneeded growth over years of operation. Cross-App Universality Whether you are checking a Lead in CRM, editing a Sales Order, looking up a Bill in Accounting, or viewing a Task in Project, the history bar automatically adapts and displays the respective documents with dynamic model names. Seamless User Experience 1. Open any record—like a customer contact card or a purchase order. 2. A clean, clickable link with the record's name automatically appears in the History Bar below the main menu. 3. Navigate anywhere else in Odoo. To go back, just click the link in the history bar. No need to search again. The bar only displays active, accessible data. If a record is deleted or your user access is revoked, the link is hidden immediately. SEO Optimization & High-Value Search Terms: Odoo recently viewed records, Odoo quick access navigation bar, Odoo 19 breadcrumbs, record history tracker Odoo, Odoo user interface custom bar, fast search Odoo, CRM quick links, Odoo UX module, reduce click times Odoo, back button shortcut Odoo, Odoo web client enhancement, Odoo multi-tasking, active record tracker, SyncSoft. Centralized Offboarding Infrastructure Easily configure automated triggers and track systemic changes inside your native reporting views. Developed with by SyncSoft Team Looking for tailored UX modifications, custom dashboard workflows, or advanced database performance tuning? We are ready to build the perfect Odoo environment for your business! Contact Us

Productivity v17.0v18.0v19.0
Kanban Color & Status Enhancements icon

Kanban Color & Status Enhancements

syncsoft_kanban_color

Kanban Color & Status Enhancements Modern gradient animated borders and color themes for Kanban views. Odoo 15.0, 16.0, 17.0, 18.0, 19.0 Sales & CRM Plug & Play 100% Plug and Play! Absolutely NO configuration needed. Just install the module and watch your Kanban boards transform instantly! YouTube WATCH NOW Transform Your Workspace UX/UI Say goodbye to boring, static boards. Bring life to your CRM and Sales workflows. Animated Gradient Borders Beautiful, fluid gradient animations that highlight each Kanban column, keeping your team engaged and focused. Color Themes Colors automatically adapt based on the stage and status of your leads and opportunities for instant visual recognition. Glassmorphism Card Effects Trendy, modern glass-like transparency effects applied to your Kanban cards for a premium, sleek feel. Smooth Micro-Interactions Satisfying hover effects and subtle transitions that make dragging, dropping, and managing cards a joy. See It In Action Experience the next level of Odoo interface. Developed withby SyncSoft Team Need help, have questions, or want a custom feature? We are here to support you! Contact Us

CRM v17.0v18.0v19.0
Invoice Zero Amount Blocker icon

Invoice Zero Amount Blocker

invoice_prevent_zero_payment

Invoice Zero Amount Blocker Enforce Strict Financial Controls & Eliminate Empty Journal Entries in Odoo 19 Prevent accountants from accidentally confirming zero-value documents. A bulletproof operational guardrail for Customer Invoices, Vendor Bills, and Credit Notes. Odoo 19.0 Invoicing Hard Validation Block Manager Override & Audit Trail The Risk: Dirty Ledgers & Audit Inconsistencies By default, Odoo allows users to confirm financial documents with a total amount of zero. Whether caused by a missing price list, an unpopulated order line, or a simple human typo, posting these transactions creates empty, valueless journal entries. This litters your General Ledger, skews transaction counts, and complicates end-of-month financial audits. Finding and reversing these posted moves manually wastes critical administrative hours. Comprehensive Invoice Guardrails Simple configuration, airtight protection, and smart exception management built natively into Odoo Accounting. Airtight Posting Block Intercepts the invoice confirmation pipeline. If the total amount resolves to 0.00, it throws a clear validation pop-up error, halting the creation of erroneous accounting entries on the spot. Controlled Manager Override Need to pass a zero-amount voucher intentionally? Users within the authorized Zero Amount Invoice Manager security group can bypass the block by checking an override toggle. Mandatory Reason Logging Security requires accountability. Managers cannot override blindly—they must input a justified reason, which the module instantly commits directly into the invoice chatter audit log. Global Settings Activation Multi-company friendly architecture. Toggle the zero-amount operational rule sets on or off instantly via a checkbox under core Accounting/Invoicing → Configuration → Settings . Full Document Model Coverage Protects all directional accounting variations out of the box (`account.move` types): Customer Invoices Vendor Bills Customer Credit Notes Vendor Credit Notes How to Configure & Use 1. Navigate to Accounting > Configuration > Settings . 2. Locate the Zero Amount Invoice Control group and check the box to enable company-wide restriction. 3. Go to Settings > Users > Groups to grant trusted supervisors the "Zero Amount Invoice Manager" clearance level. 4. Standard operators trying to post an empty invoice will now see validation exceptions, keeping your journals clean. Highly Optimized Accounting Keywords: Odoo 19 block zero amount invoice, prevent zero invoice posting, Odoo accounting control app, block empty vendor bill, account move validation rule, Odoo 19 credit note override, invoice chatter audit trail, invoice_prevent_zero_payment, internal control accounting Odoo, SyncSoft. User Interface & Functional Flow Seamless integration that looks completely native to the standard Odoo enterprise layout. Developed with by SyncSoft Team Need further customization on mail flows, priority scheduling, or customized email templates? We are here to support your team! Contact Us

Accounting v17.0v18.0v19.0
Hide Database Manager Link icon

Hide Database Manager Link

hide_database_manager_link

Hide Database Manager Link & Domain Restrictor Production Cyber Security Hardening & Route Access Control Lock down your production database endpoints. Hide the "Manage Databases" link from the Odoo login page and block unauthorized exposure by restricting all database management routes to a single secure administrator domain. Odoo 19.0 Production Hardened HTTP 404 Protection The High Risk of Exposed Odoo Database Management Routes Leaving your database selector, backup, and restore options open to the public internet is a major vulnerability. Malicious actors scan for `/web/database/manager` endpoints to brute-force your master password, download raw database backups, or drop systems entirely. Simply hiding the visual link does not fix security—tech-savvy users can still type the direct URL. You need an automated system that enforces network isolation and strictly limits administrative tasks to an internal domain. Comprehensive Defensive Security Two independent layers of protection designed to keep your production instances fully safe without disrupting IT operations. Visual Link Suppression Instantly strip away the "Manage Databases" link at the bottom of the default Odoo login panel. This eliminates casual entry points for public users while preserving standard interface aesthetics. Host-Based Domain Restriction Block back-door attempts entirely. Every request targeting backup, drop, list, or duplicate endpoints is evaluated against the `Host` header. If it doesn't match your exact authorized domain, Odoo returns a swift 403 Forbidden message. Granular Configuration Control Manage all features cleanly inside General Settings → Database Manager Security . Only accessible to system accounts in the "Administration / Settings" group. Features can be easily toggled off for testing purposes. Multi-Database Resiliency Engineered for large-scale multi-tenant environments. If no specific dbfilter matches, the fallback engine scans local instances sequentially to ensure security rules are actively preserved across the cluster. IT Infrastructure Specifications Complements native server configurations perfectly, giving network administrators flexible operational control. Coexists with list_db Parameter Does not override your native `list_db = False` parameter in `odoo.conf`. Instead, it provides a dynamic, user-configurable security blanket directly over web requests targeting active controllers. Reverse Proxy Friendly Fully compatible with enterprise proxy configurations like Nginx, Apache, or Cloudflare. Simply configure your proxy to pass the original `Host` header directly down to the Odoo application server. Configuration Guide 1. Navigate to Settings > General Settings with an Admin account. 2. Scroll to the Database Manager Security section. 3. Toggle "Manage Databases Link" to instantly remove the interface link from your login view. 4. In the "Database Manager Access" field, enter your explicit management domain (e.g., `secure-db.mycompany.com`) and click Save. Warning: Ensure the specified domain resolves properly to your Odoo server instance before deploying to live environments. Highly Targetable Search Terms: Odoo hide database manager link, restrict Odoo database selector, secure Odoo login page, Odoo production hardening, block web database route, prevent Odoo database backup leak, restrict Odoo manager domain, Odoo 403 forbidden database, hide manage databases, Odoo cybersecurity addon, hide_database_manager_link, Odoo OPL-1 modules, SyncSoft. Developed with by SyncSoft Team Looking for specialized infrastructure architecture audits, custom server-level security wrappers, or cloud proxy integrations? Our enterprise security engineers are ready to support you! Contact Us

Extra Tools v17.0v18.0v19.0
Field Hide Lite - Simple Form View Field Hide icon

Field Hide Lite - Simple Form View Field Hide

syncsoft_field_hider_lite

Field Hider Lite Simple Form & View Field Hider Hide sensitive fields from specific user roles instantly. No Code. No XML. No Odoo Studio Subscription Required! Odoo 19.0 100% Codeless Instant Apply Stop Wasting Money on Custom Development! Why pay a developer $50/hour or buy an expensive Odoo Studio subscription just to hide a few sensitive fields (like Cost Prices, Internal Notes, or Margins) from specific users? With Field Hider Lite , any administrator can control field visibility for any user group in less than 10 seconds. How It Works Control your UI visibility in 3 incredibly easy steps. 1. Choose Target Go to Field Visibility Rules and select your Model and the Field you want to restrict. 2. Select Groups Choose which user groups SHOULD still see this field. Anyone outside these groups will lose visibility. 3. Save & Apply Hit save. The field is instantly hidden across Forms, Lists, Kanbans, and Search views. No server restart needed! Key Benefits Complete View Protection Hides fields dynamically everywhere: Form views, Tree/List views, Kanban cards, and even from the Search/Filter dropdowns. Instant Reversal Need to make the field visible again? Simply untick the "Active" checkbox or delete the rule to instantly restore default Odoo visibility. Native Security Framework Built as a clean management layer on top of Odoo's native groups property of ir.model.fields . Safe, lightweight, and reliable. Smart Validation Warning The configuration form automatically warns you if you are trying to hide a required field, preventing workflow disruptions before they happen. Professional Tip for Administrators: When hiding a required field from a specific user role, ensure that a default value is configured for that field. Otherwise, users in that role won't be able to save new records because Odoo mandates required values. Our module built-in warning system will explicitly alert you whenever you select a required field! Clean Administrative Interface YouTube WATCH NOW Developed with by SyncSoft Team Need help, have questions, or want a custom feature? We are here to support you! Contact Us

Technical Settings v17.0v18.0v19.0
Double Phone Number Registration Control icon

Double Phone Number Registration Control

double_phone_validator

Double Phone Number Registration Control Enforce Validated Landline & Mobile Data Entry Standards Across Odoo Contacts Eliminate dummy phone numbers, invalid SMS dispatches, and messy CRM profiles. Enforce dual-field phone and mobile number formatting rules, visual UI badge indicators, and flexible company vs. individual target filters. Odoo 15 / 16 / 17 / 18 / 19 Ready E.164 & Regex Validation CRM Data Hardening The Problem: Dirty CRM Records & Wasted Marketing Budgets When salespeople or intake staff register contacts with missing numbers, incomplete digit counts, or dummy placeholders (like "000000"), your call center efficiency plummets. Automated SMS campaigns bounce, customer service channels fail to connect, and your database degrades over time. Standard Odoo allows saving contacts without validating character structure or ensuring both primary phone and mobile channels exist. High-Efficiency Contact Verification A flexible enforcement engine designed for Sales Operations, Call Centers, and Data Quality Managers. Dual-Field Parsing & Validation Validates both Phone (landline) and Mobile fields simultaneously using Odoo's native `phone_validation` engine with fallback regex safeguards to guarantee correct international/local formatting. Visual Status UI Badges Gives operators immediate visual feedback. Inline status indicators next to Phone and Mobile fields clearly show Valid (Green), Invalid (Red), or Missing (Amber) states in real time. Customizable Enforcement Modes Tailor requirements to your workflow. Enforce mandatory presence for both fields, or simply validate format accuracy for whatever numbers are entered. Apply rules specifically to Companies, Individuals, or both. Data Audit & Search Filters Comes with built-in search filters for `res.partner`. Instantly isolate records with missing or invalid contact numbers so data teams can perform targeted bulk cleanup drives. Zero Friction: Legacy Data Protection Installing this module never retroactively blocks or locks legacy database entries . Validation rules trigger strictly when a contact is newly created or when the Phone/Mobile fields are explicitly modified by a user. Flexible Control Settings Managed centrally from Settings > Contacts / CRM > Phone Validation Settings . Configuration Option Description Options Enable Validation Policy Master switch to toggle global phone number verification rules Global On / Off Enforcement Rigor Choose whether to force filling both fields or validate format only Require Both / Format Only Target Partner Filter Specify which contact types must adhere to the rules Companies / Individuals / All Optimized Search Triggers: Odoo phone number validation, validate mobile field Odoo, res.partner phone control, Odoo CRM data cleaning, double phone number enforcement, prevent bad phone numbers Odoo, E.164 phone validation, Odoo contact phone status badge, SyncSoft. System Interface & Visual Controls Cleanly integrated into standard Odoo Partner forms and settings panels. Developed with by SyncSoft Team Contact Us

CRM v17.0v18.0v19.0
Date Logic Validator icon

Date Logic Validator

validate_start_end_date

Odoo Date Logic Validator Prevent Invalid Date Ranges & Reverse Timelines Across Contracts, Projects, and Leaves Automatically block records where the Start Date is later than the End Date . Pure Python constraint protection for UI entries, bulk CSV imports, and API integrations. Odoo Community & Enterprise Backend Python Constraint Zero View Modifications Protected Models & Fields Target Document Model Name Start Field End Field Employee Contract hr.contract date_start date_end Project Management project.project date_start date (Expiration) Time Off / Leaves hr.leave request_date_from request_date_to Core Logic Centralized Date Mixin Uses a single reusable date.validation.mixin with standard @api.constrains . Guarantees 100% consistent date ordering checks across HR, Projects, and Leaves without duplicate code. User Experience Clear Error Messages When an invalid date range is detected, Odoo raises a clear UserError / ValidationError explicitly stating the record name, field labels, and exact entered dates. Integrity Null-Safe Operations Ignores open-ended contracts or ongoing projects where either the start or end date is left empty. Performance Zero Overhead No custom views, no database migrations, no javascript assets. Executes instantly on database create and write calls. Validation Error Example ValidationError: Invalid Date Range on 'Software Developer Contract - John Doe': 'Start Date' (2026-08-01) cannot be later than 'Contract End Date' (2026-07-01). Please correct the dates before saving. Complete User Interface Walkthrough A clean, standard Odoo UI matching the core accounting platform theme flawlessly. Standard Dependencies: hr_contract project hr_holidays SEO Terms: Odoo date validation, block end date before start date, hr.contract date constraint, project start date validation, hr.leave date range fix, validate start end date Odoo, Odoo constrains date logic, SyncSoft. Developed with by SyncSoft Team Contact Us

Employees v17.0v18.0v19.0
Data Import Access Controller icon

Data Import Access Controller

restrict_data_import_group

Data Import Access Controller Protect Your Database Structure From Corrupted Bulk Imports Stop dirty data and broken relations before they hit your system. Enforce strict server-side restrictions on Excel/CSV bulk uploads, limiting import tools to qualified Data Import Officers. Odoo 19.0 Structure Protection Fail-Closed UX The High Price of Untrained Data Imports Standard Odoo grants the "Import" option to almost any user who can view a list layout. When non-technical staff upload improperly formatted spreadsheets, they introduce broken relational IDs, duplicate records, and corrupted values. Fixing these bulk import mistakes often requires hours of developer time, manual rollbacks, or expensive database repairs. Absolute Server-Side Security Boundaries Multi-phase interception that prevents bad data from bypassing standard interface locks. 3-Point Server-Side Guard Extends Odoo's native base_import.import wizard. Blocks execution across three critical phases: Wizard Creation, Preview Parsing, and Final Database Commit, throwing a clear AccessError if unauthorized. Fail-Closed UI Masking Includes an intelligent JavaScript patch on Odoo's ListController . Automatically hides the standard "Import" option from list views for restricted profiles so they never see options they cannot execute. Dedicated Data Import Group Creates an isolated "Data Import Access" category and a specific "Data Import Officer" group. System Administrators are automatically added by default, retaining their full native rights seamlessly. API Integration Protection The security rule lives at the database layer. Even if smart users execute custom integration routines over XML-RPC or JSON-RPC, the backend checks credentials and blocks imports from unauthorized accounts. Zero Disruption to Standard Operations This module acts purely as an infrastructure shield and does not modify core workflow logic. Normal CRUD Access Does not change or interfere with standard Create, Write, Read, or Unlink permissions on any business model. Export Integrity Standard corporate data Export features remain completely untouched and follow your baseline access settings. Record Rules Intact Existing multi-company record rules, company filters, and core access control lists (ACLs) are preserved perfectly. Clean Administrative Setup Easily toggle access permissions straight from the standard Odoo User Card view. Developed with by SyncSoft Team Looking to safeguard your Odoo system integrity from dirty data injections? We are here to support you! Contact Us

Security v17.0v18.0v19.0
Custom Login | Dynamic Login | Login Screen | Login Form icon

Custom Login | Dynamic Login | Login Screen | Login Form

syncsoft_odoo_login

Odoo 19 Compatible Dynamic Custom Login Screen Transform your Odoo login page into a modern, fully customizable, and responsive entryway for your business. Elevate your brand identity instantly. YouTube WATCH NOW Why Choose This Module? A complete toolkit to redesign your authentication page without writing a single line of code. Animated Gradients Activate a stunning, Google-style full-color flow animated gradient background to give your login screen a vibrant, modern feel. Custom Backgrounds Upload your own high-resolution company background image directly from the settings to perfectly match your corporate branding. Layout Flexibility Easily align your login form to the Left, Center, or Right. Control where your company logo appears (Inside or Outside the form). Custom Styling Adjust form background colors using Hex or RGBA for glassy, semi-transparent effects that blend perfectly with your background. Custom Footer Toggle the visibility of your footer and display a customized welcome message, corporate slogan, or tagline. 100% Responsive Your login screen will look absolutely perfect on desktops, tablets, and smartphones out of the box. See It In Action Sleek interfaces for your users, powerful configuration for you. ● Stunning Desktop Experience ● Flawless Mobile Responsiveness ● Effortless Configuration Settings Developed with by SyncSoft Team Contact Us

Extra Tools v17.0v18.0v19.0
Chatter Scheduled Message Sender icon

Chatter Scheduled Message Sender

chatter_scheduled_message

Chatter Scheduled Message Sender Odoo Message Scheduler for Delayed Emails & Internal Logs Never miss a critical follow-up. Schedule customer emails and team log notes on Odoo Chatter to be posted automatically at any future date and time. Odoo 19.0 Scheduled Delivery Delay Send Engine The Problem: Poor Follow-up Timing & Forgotten Promises Your sales team finishes a late-night call at 10 PM. Sending an email immediately feels unprofessional, but waiting until tomorrow risks forgetting it entirely. Or, your support agents want to check in on a customer exactly 3 days from now. Currently, Odoo has no native way to queue a specific message or note on a document for future delivery. Agents are forced to use external alarms, calendar invites, or sticky notes—fragmenting your customer relationship management. DEMO WATCH NOW Elevate Customer Engagement & Collaboration Take full control of your communication flow with three intuitive ways to schedule activity logs and emails. Odoo Chatter Integration A dedicated "Schedule" button is added directly next to the "Send Message" and "Log Note" options in the native Odoo Chatter interface. Schedule customer-facing emails or private internal team updates in just two clicks. Action Gear Menu Shortcut Need a fast workflow? Schedule a message directly from the standard Odoo Action (gear) menu on any record. Quickly set up delayed follow-up parameters without cluttering your workspace. Centralized Scheduler App Access a master control panel at Message Scheduler → Scheduled Messages . Review, edit, cancel, or instantly force-send any pending messages. Great for managers to audit upcoming outgoing messages. Fail-Safe Error Log If a mail server is down, the system doesn't lose the communication. Failed deliveries are logged with detailed technical errors, allowing administrators to correct and re-queue them. Bulletproof Technical Foundation No external libraries required. Built purely with native Odoo logic. Inherits mail.thread Mixin Works seamlessly across any Odoo model that uses the standard chatter. Whether it's CRM Leads, Project Tasks, Sale Orders, Customer Invoices, or custom modules—if it has a chatter, it can schedule messages. Optimized 5-Minute Cron The automated background action `Chatter Scheduled Message: Send Scheduled Messages` checks for due items every 5 minutes (fully customizable under technical settings) with zero database overhead. Quick Start Guide 1. Open any record (e.g., a Sales Order) and locate the Odoo Chatter sidebar. 2. Click the newly added "Schedule" button next to the Send Message options. 3. A user-friendly wizard opens. Draft your message, select your future date/time, choose whether it's an email or internal note, and click Schedule. 4. The cron job will post the message to the chatter at the exact scheduled moment automatically. SEO Keywords & High-Value Search Terms: Odoo schedule email chatter, Odoo delay send message, scheduled internal log note Odoo, Odoo CRM message scheduler, delayed email marketing Odoo, queue chatter email, future post Odoo chatter, chatter_scheduled_message, auto-post note later Odoo, Odoo task communication schedule, Odoo mail.thread automation, scheduled cron action Odoo mail, SyncSoft. Interface Walkthrough A clean, zero-clutter addition to your native Odoo system. Developed with by SyncSoft Team Need further customization on mail flows, priority scheduling, or customized email templates? We are here to support your team! Contact Us

Discuss v17.0v18.0v19.0
Bulk Data Export Access Controller icon

Bulk Data Export Access Controller

restrict_data_export_group

Bulk Data Export Access Controller Ironclad Data Leak Prevention & Export Security Stop corporate data theft before it happens. Block Excel/CSV data extraction at the ORM & API level, restricting exports strictly to authorized Data Security Officers. Odoo 19.0 Data Leak Prevention Full Audit Trail Is Your Customer Database Safe from One-Click Theft? By default, Odoo allows almost any user with list view access to export your entire customer database, financial records, or product pricing directly into an Excel/CSV file. Disgruntled employees or compromised accounts can download thousands of records in one click. Even worse, tech-savvy users can bypass standard UI restrictions using XML-RPC or JSON-RPC API calls. Module Demonstration Watch a complete walkthrough of the module and see how it works in Odoo. Watch Demo Video Uncompromising Database Protection Multi-layered enforcement that blocks security bypasses from both the web client and external script integrations. ORM & API Level Enforcement Wraps the core Odoo export_data() method. If a restricted user tries to bypass the UI using external Python scripts, Postman, or XML-RPC/JSON-RPC API tools, the system throws a hard AccessError. Immutable Export Audit Logs Tracks every single data extraction attempt. Monitor who exported data, which model was targeted, the specific fields/records touched, the timestamp, and whether the attempt was allowed or blocked. Dedicated Security Group Introduces a highly localized "Bulk Data Export Access" group under a new Data Export Security category. Assign access exclusively to authorized Data Security Officers or executive management. Instant System-Wide Revocation Equipped with a powerful post_init_hook that immediately strips the native export permissions from all legacy users upon installation, ensuring automated security from second one. Zero-Risk Integration & Safe Removal Built following Odoo enterprise architecture guidelines with robust fail-safes. Automatic Rollback on Uninstall If you ever decide to remove the module, a custom uninstall_hook triggers automatically, smoothly restoring standard native export permissions back to all internal users without leaving anyone locked out. Superuser & Admin Immunity System Administrators are natively exempted from the block paths, ensuring your technical setup and infrastructure management remain completely unhindered and fully operational at all times. Transparent Auditing Screen Navigate to Data Export Security > Export Audit Log to view absolute system forensics. Developed with by SyncSoft Team Looking to enhance your corporate Odoo data security compliance standards? We are here to support you! Contact Us

Extra Tools v17.0v18.0v19.0
Auto Receive Bill - Vendor Bill Item Receipt Splitter icon

Auto Receive Bill - Vendor Bill Item Receipt Splitter

syncsoft_auto_receive_bill

Auto Receive Bill & Receipt Splitter Stop phantom stock and costing errors. Safely register vendor bills for customs or cash-flow without falsely validating physical inventory. Odoo 15.0 - 19.0 Inventory & Accounting Fraud Prevention The Standard Odoo Problem Logistics and trading companies often need to register a vendor invoice early for customs clearance or cash-flow planning before the goods arrive. In standard Odoo, nothing stops a careless user from validating the linked Incoming Shipment right away. This creates phantom stock , ruins your inventory valuation, and breaks traceability. Core Features How we protect your inventory data and workflow. Smart Detection Automatically flags bills posted before physical receipt. Displays real-time physical receipt status directly on the Vendor Bill. Validation Guard Blocks standard users from blindly validating receipts linked to early-billed POs. Forces them to use the "Confirm Actual Receipt" wizard or requests manager approval. Detailed Audit Trail Every detected mismatch is logged in a dedicated tracking menu. Maintain a clean record of "Pending Physical Receipts" vs "Confirmed Receipts". Automated Notifications Posts chatter warnings, schedules Mail Activities for responsible users, and sends daily reminders for outstanding pending receipts. Perfect For Your Industry Import & Customs Register invoices for customs declaration while the goods are still physically on the ship or at the border, without messing up current stock. Financial Audits Keep your stock valuation 100% accurate. Never let early accounting entries artificially inflate your warehouse inventory value. Separation of Duties Accountants handle the bills, Warehouse handles the actual boxes. This module ensures one team's action doesn't accidentally bypass the other's. See It In Action Protect your workflow with intuitive warnings and secure wizards. YouTube WATCH NOW Developed with by SyncSoft Team Need help, have questions, or want a custom feature? We are here to support you! Contact Us

Purchase v17.0v18.0v19.0
Asset Management for Community icon

Asset Management for Community

account_asset_community_management

Asset Management for Community Bridge the Enterprise Gap — Native Fixed Asset & Depreciation Registers in Odoo 18 Community Stop manually tracking assets in Excel or paying for expensive Enterprise upgrades. Register fixed assets, compute precise straight-line depreciation boards, and fully automate journal postings right inside Odoo 18 Community Edition. Odoo 18 Community Dedicated Straight-Line & Prorata Automated Cron Postings Why Pay for Odoo Enterprise Just for Fixed Assets? Odoo 18 Community Edition completely locks out fixed asset modules, forcing scaling businesses to maintain disorganized side-spreadsheets or upgrade prematurely to Enterprise. This module completely solves that. It brings enterprise-grade multi-account asset profiles, instant rounding-error proof straight-line depreciation boards, and robust multi-currency security groups directly to your open-source setup. DEMO WATCH NOW Professional Grade Asset Control A fully robust backend framework ensuring strict financial accuracy, complete lifecycle workflows, and zero human errors. Dynamic Asset Categories Establish template automation profiles. Define the fixed asset account, accumulated depreciation account, expense line accounts, fallback journals, and analytic account links just once per category. Prorata Temporis & Rounding Protection Calculate precisely from day one. Optional prorata temporis splits ensure the first period matches exact initial ownership days, while trailing balances automatically absorb micro-rounding deviations perfectly. Set-and-Forget Daily Cron Posting No manual monthly calculations required. Toggle "Auto-Post Entries" on any asset to let the background system execution cron sweep your dashboard daily, posting past-due entries silently. Guided Asset Disposal Wizard Seamlessly retire assets. Whether scrapping equipment early or recording unexpected sales, the guided workflow instantly closes running profiles and automatically offsets residual books into Gain/Loss accounts. Automated Ledger Postings Matrix Rest easy knowing every transaction maps explicitly to standard financial bookkeeping standards. Periodic Depreciation Entry Account Type Debit Credit Depreciation Expense Account Amount - Accumulated Depreciation Account - Amount Asset Early Disposal Entry Account Type Debit Credit Accumulated Depreciation Account Posted Vol - Gain/Loss on Disposal Account Residual Net - Fixed Asset Account - Gross Val Operational Setup Guide 1. Go to Assets → Configuration → Asset Categories and map your designated accounting journals and configuration accounts. 2. Under Settings → Users , assign personnel to either the Asset User or Asset Manager authorization levels. 3. Create a new asset card profile under Assets → Assets , input values, and click Compute Depreciation Board . 4. Confirm the lifecycle to active "Running" status — from there, manual post flags or global background crons take care of the rest! Highly Search-Optimized Keywords: Odoo community asset management, fixed asset register open source, Odoo 19 straight line depreciation, account_asset_community_management, free asset tracking app odoo, odoo asset category configuration, automate asset journal entries, asset disposal wizard odoo, SyncSoft. Complete User Interface Walkthrough A clean, standard Odoo UI matching the core accounting platform theme flawlessly. Future Development Roadmap Implementation of declining balance (accelerated) depreciation methodology modules. One-click automated asset registration triggered seamlessly from live Vendor Bill line elements. Temporary depreciation runtime pauses and advanced mid-cycle financial revaluation adjustments. Dedicated print-ready PDF audit reporting formats for internal board meetings. Developed with by SyncSoft Team Contact Us

Accounting v16.0v17.0v18.0
Aging Stock Movement  Report icon

Aging Stock Movement Report

stock_last_movement_aging

Aging Stock Movement Report Identify Dead Stock & Optimize Working Capital In Real-Time Stop letting stale inventory drain your cash flow. Instantly track exact days since the last stock movement for every single product across your warehouses. Odoo 19.0 Inventory Analytics High-Speed SQL View Is Unsold Inventory Silently Killing Your Cash Flow? Every day a product sits idle in your warehouse, it costs your business money in storage, depreciation, and tied-up capital. Standard Odoo tells you how much stock you have, but it doesn't easily show how long it has been sitting there completely frozen. Without aging reports, identifying slow-moving items requires tedious Excel exports and manual calculations, leaving your supply chain blind to hidden warehouse waste. Comprehensive Inventory Forensic Tools Proactive visual reporting designed specifically for warehouse auditors and inventory managers. Precise "Aging" Tracking Calculates the total number of days elapsed since the exact date of the last confirmed stock movement (including incoming shipments, outgoing deliveries, and internal transfers). Stationary Stock Isolator Instantly flags items that have remained entirely stationary and un-moved since the day they originally entered your internal stock locations. Smart Quick Filters Equipped with pre-built search criteria to instantly isolate stock that has been dead or completely idle for more than 30, 60, 90, 180, or 365 days in one click. Ultra-Performant SQL Engine Built directly over a native PostgreSQL database view rather than stored records. Guarantees blisteringly fast loading times with zero database bloat, even with massive transaction history. Seamless Odoo Reporting Architecture Analyze your inventory health using Odoo's native reporting layouts. List, Pivot, & Graphs Fully compatible with standard Odoo views. Switch to Pivot tables for deep tabular auditing or Graph charts to visually map out aging trends. Dynamic Multi-Level Grouping Drill down and slice your reports instantly by grouping values by Product Category, individual Warehouse hubs, or specific internal Stock Locations. Zero Configuration Setup Adds a dedicated, easily accessible menu entry located directly under Inventory > Reporting > Aging Stock > Aging Stock Movement . Executive Dashboard Interface Plan promotions, inventory write-offs, or replenishment corrections with complete clarity. Developed with by SyncSoft Team Need assistance setting up custom inventory filters or building specialized supply chain reports? We are here to support you! Contact Us

Inventory v17.0v18.0v19.0
Active User Offboarding & License Reclaimer icon

Active User Offboarding & License Reclaimer

user_license_reclaimer_auto

Active User Offboarding & License Reclaimer Automated Access Revocation & License Cost Optimization Stop paying for unused Odoo user seats and eliminate security leaks. Instantly revoke access groups and reclaim named-user licenses the exact second an employee leaves. Odoo 19.0 Cost Reclaimer Auto Offboarding Are Ghost Accounts Draining Your Budget & Security? When an employee departs, HR archives their profile, but the related Odoo system user often remains active. This creates a massive data security vulnerability where ex-employees might still access sensitive company data from outside. Furthermore, active unlinked accounts keep consuming paid Odoo named-user license seats, costing your organization unnecessary subscription fees month after month. Module Demonstration Watch a complete walkthrough of the module and see how it works in Odoo. Watch Demo Video Automated Offboarding & Compliance Seamless coordination between Human Resources archives and active system access controls. Automatic Archive Trigger Fully integrated with Odoo's native Departure Wizard. Archiving an employee instantly strips their user permissions and deactivates the account to free up your license seat automatically. Manual Management Wizards On-demand control for IT staff. Dedicated smart buttons allow you to offboard specific users manually or perform a direct "Reclaim License" action even if no employee card exists. Daily Safety-Net Scans Automated cron action running once a day. Catches and logs any employees who were archived outside standard workflows, applying offboarding rules automatically so no account slips through. Complete Multi-Company Audit Trail Maintains a thorough historical record under Employees > Reporting > Offboarding Logs . Tracks the execution status, exact revoked permission groups, triggers, and operators. Advanced Controls & Safeguards Enterprise-grade utilities designed to protect your Odoo instance infrastructure. Stakeholder Alerts Configure a notification subscriber list in General Settings. Automatically emails or alerts designated HR / IT team members the moment an offboarding routine is successfully finished. Administrator Protection Hardcoded security boundaries ensure the main system Administrator account can never be offboarded or deactivated by automated crons, manual mistakes, or automated workflows. Segmented Role Permissions Divided into Offboarding: View Only for internal auditors and Offboarding: Manager for IT leads who require total manual execution rights and log oversight. Centralized Offboarding Infrastructure Easily configure automated triggers and track systemic changes inside your native reporting views. ------- Developed with by SyncSoft Team Need help setting up automated user deactivation or have custom corporate access workflows? We are here to support you! Contact Us

Employees v17.0v18.0v19.0
POS Product Info Button Restorer icon

POS Product Info Button Restorer

pos_product_info_button

POS Product Info Button Restorer Bring Back the Instant 1-Click Product Info UI in Odoo 19 Point of Sale Don't let hidden long-press gestures slow down your cashiers. Restore the classic, high-visibility round (i) info button on every single POS product card to check stock, costs, and references instantly. Odoo 19.0 Native 1-Click Instant Lookup Maximize Checkout Speed The Odoo 19 UX Friction: Hidden Long-Press Gestures In Odoo 19, the native Point of Sale interface replaced the static product information button with a long-press gesture. For busy retail environments and supermarkets, this is a major productivity killer. Cashiers waste valuable seconds waiting for the touch delay to register just to verify inventory levels or a wholesale cost. Even worse, accidental short-clicks add unwanted items to the cart, causing messy cart corrections and long customer queues. DEMO WATCH NOW Fast, Reliable Retail Operations A robust front-end patch that returns the intuitive interface control layout your retail teams expect. Classic Info Icon Restored Places a clean, lightweight round (i) action icon precisely in the top-right corner of every catalog product thumbnail template. Instantly recognizable and always ready for high-speed touch input. Instant Real-Time Inventory Insights Clicking the icon opens a secure modal displaying on-hand volume metrics, forecasted data specific to the session's active warehouse link, cost matrix profiles, barcodes, and internal references. Isolated Cartwright Safety Checking product details should never interfere with the customer checkout workflow. The layout handler isolates the click listener completely—verifying internal records will never accidentally append the item to an active order ticket. Per-Shop Session Activation Granular administrative authority. Toggle the display features on or off individually across unique POS retail branches straight from the core Point of Sale → Configuration → Settings parameters screen. Lightweight On-Demand Performance Built following Odoo 19's clean web-client assets structure to guarantee absolute device stability. Dynamic On-Demand RPC Queries Unlike heavy modules that slow down POS loading screens by caching massive amounts of cost and warehouse data upfront, this extension uses a lazy server-side method called `get_pos_info_button_data()`. Database records are retrieved only when the button is clicked, keeping your POS backend light and responsive. Clean OWL Component Patching Directly extends Odoo 19's native `ProductCard` component structure using modern frontend standard extensions. Cleanly overrides user event tracking loops without introducing any modifications to native core business models or point of sale logic. Quick Setup Guide 1. Navigate to the Point of Sale application dashboard. 2. Open Configuration > Settings and scroll down to the new Product Info Button feature checkbox. 3. Enable the configuration option for your designated POS shops and click Save. 4. Reload your active retail workstation screen session—the new (i) badge indicator is instantly deployed! Optimized POS Search Terms: Odoo 19 POS product info button, restore point of sale info icon, Odoo 19 check stock in POS, show product cost on pos layout, Odoo product card patch owl, pos_product_info_button, disable pos long press gesture, Odoo point of sale warehouse forecast, Odoo 19 retail productivity addon, SyncSoft. Application Interface Walkthrough Seamless native look matching default Odoo 19 design aesthetics perfectly. 1. Product Catalog Grid View Layer Shows the live Odoo 19 retail catalog layout with the dedicated round info action indicators pinned cleanly to the top-right corner of each asset item card. 2. Direct On-Demand Details Popup Modal Demonstrates the instantaneous modal popover revealing real-time on-hand stocks, forecasted records, vendor cost calculations, and barcodes upon user action click. Developed with by SyncSoft Team Need further customization on mail flows, priority scheduling, or customized email templates? We are here to support your team! Contact Us

Point Of Sale v19.0
Accounting Horizontal Groups Fix icon

Accounting Horizontal Groups Fix

accounting_horizontal_groups_fix

Accounting Horizontal Groups Fix Restore Dimensional Multi-Column Reporting & Departmental Comparisons in Odoo 19 Enterprise Missing the Horizontal Groups filter on your Balance Sheet, P&L, or Trial Balance? Re-enable multi-dimension column grouping across all statutory and localized reports in one click. Odoo 19.0 Enterprise Zero-Data-Risk Fix The Issue: Disappearing Horizontal Group Filters in Odoo 19 Following an upgrade to Odoo 19 Enterprise or when applying custom localization packages (such as l10n_mn ), the standard Horizontal Groups column-selector selector can vanish from financial report headers. Accountants relying on horizontal groups to compare performance across Cost Centers, Departments, Branches, or Projects find themselves unable to generate multi-dimensional financial breakdowns. How This Module Fixes It A light, defensive configuration module that restores missing UI selectors and menus instantly. Automatic Filter Reactivation Upon installation or upgrade, the module automatically sets filter_horizontal_groups = True on all existing account.report records, immediately bringing back the dropdown filter on all report control panels. Restored Configuration Menu Adds the missing menu item back to Accounting ▸ Configuration ▸ Horizontal Groups , allowing financial administrators to easily create, edit, and assign custom grouping rules right from the user interface. Pre-Seeded Default Group Automatically seeds a default group named General if no horizontal groups exist yet. This guarantees that the control panel selector is functional and ready to use immediately after installation. 100% Safe & Defensive Execution Configuration-only design. No accounting entries, general ledgers, or underlying calculations are modified. Includes defensive post-init hooks that will never block server upgrades. Technical Compatibility Seamlessly plugs into core Odoo Enterprise Accounting and Localization apps: account_reports (Odoo 19 Enterprise) l10n_mn (Mongolian Localization) How to Deploy 1. Copy accounting_horizontal_groups_fix into your Odoo custom addons directory. 2. Update Apps List in Developer Mode and click Install . 3. Open any financial report (Balance Sheet, Profit & Loss, Trial Balance) under Accounting ▸ Reporting . 4. Confirm the Horizontal Groups selector is now active in the report control panel! Highly Search-Optimized Keywords: Odoo 19 horizontal groups fix, account_reports horizontal group missing, Odoo financial report column filter, l10n_mn horizontal groups, Odoo 19 accounting fix, departmental report comparison Odoo, accounting_horizontal_groups_fix, SyncSoft. Interface Walkthrough Seamless native integration into Odoo 19 Enterprise reporting controls. Developed with by SyncSoft Team Contact Us

Accounting v19.0