ERP

    Odoo Studio: No-Code ERP Customization Guide

    Odoo Studio enables no-code customization of your ERP: add fields, modify views, create automated actions, and build custom apps without writing any code.

    VT
    10 min read
    Share

    Key Takeaways

    • Studio enables business users to customize Odoo without Python development
    • Add fields, modify layouts, and create automations through drag-and-drop interfaces
    • Custom apps built with Studio handle business needs not covered by standard modules
    • Studio changes are upgrade-safe and maintained by Odoo during version upgrades
    • Complex logic and integrations still require Python custom module development

    Adding and Customizing Fields

    The most common Studio use case is adding fields to capture business-specific data that standard Odoo modules do not include. Drag and drop new fields onto any form or list view.

    Field TypeUse CaseExample
    TextShort text valuesCustomer account number
    Integer/FloatNumeric valuesPriority score, weight
    SelectionPredefined optionsRisk level, product grade
    Many2oneLink to another recordLink order to department
    DateDate trackingContract expiry, review date
    BooleanYes/No flagsVIP customer, requires approval
    HTMLRich text contentSpecial instructions, notes
    ComputedCalculated valuesMargin %, days until expiry
    Naming Convention

    Use descriptive field names with consistent prefixes for your custom fields (e.g., x_custom_priority, x_custom_region). This makes custom fields easy to identify and maintain across the system.

    View and Layout Customization

    Modify how information is displayed to users without touching any code. Rearrange layouts, add tabs, configure conditional visibility, and customize list views.

    • Form views: rearrange fields, add groups, create tabs for logical organization
    • List views: add/remove columns, set default sort order, configure column widths
    • Kanban views: customize card content, add status colors, show key metrics
    • Search filters: add custom filters and group-by options for frequently used searches
    • Conditional visibility: show/hide fields based on other field values (e.g., show payment terms only for credit customers)
    • Statusbar modification: add or rename stages in pipeline views
    Impact Awareness

    View changes affect all users of that form. Before modifying a heavily used view, document the current layout and get team feedback. A field arrangement that works for accounting may confuse the sales team.

    Automated Actions and Workflows

    Automated actions eliminate manual steps by triggering actions when specific conditions are met. Configure automations for record creation, updates, time-based triggers, or scheduled execution.

    Trigger TypeWhen It FiresExample Use Case
    On creationNew record savedSend welcome email for new contact
    On updateField value changesNotify manager when deal exceeds $50K
    Based on conditionCondition becomes trueAlert when inventory falls below minimum
    Based on timeScheduled intervalSend reminder 3 days before due date
    On deletionRecord removedLog deleted record to audit table
    • Update field values: automatically set priority, assign teams, or change status
    • Send emails: trigger notifications using email templates with dynamic content
    • Create activities: schedule follow-up tasks for specific users or teams
    • Execute Python code: for advanced logic beyond standard actions (admin only)
    • Create records: auto-generate related records (e.g., create task when project is approved)

    Building Custom Apps with Studio

    When standard modules do not cover a business need, Studio lets you build entirely new applications with custom data models, views, menus, and business logic.

    1. Define the app purpose and data requirements (what information needs to be tracked)
    2. Create a new app from Studio's app builder with a name and icon
    3. Add fields to the main model: drag and drop the data fields you need
    4. Configure form, list, and kanban views for data entry and display
    5. Add menu items to make the app accessible from the main navigation
    6. Set access rights: which user groups can read, create, edit, and delete records
    7. Create automated actions for business rules and notifications
    8. Build reports for PDF export and data analysis
    Complexity Threshold

    Studio apps work well for simple data tracking and workflow applications. When you need complex inter-module integrations, heavy computation, or external API connections, the custom app should be built as a proper Python module instead.

    Studio Best Practices and Governance

    Studio is powerful but can create maintenance challenges if used without discipline. Establish governance practices to keep customizations manageable.

    PracticeWhyHow
    Document all changesFuture team members need contextMaintain a change log with dates and reasons
    Test in staging firstPrevent production disruptionsUse Odoo.sh staging or backup restore
    Limit Studio accessPrevent uncontrolled changesRestrict to trained administrators
    Review quarterlyRemove unused customizationsAudit fields, actions, and apps quarterly
    Export customizationsBackup and version controlExport Studio changes as module files
    Studio to Code

    When Studio customizations become complex, export them as a Python module. This enables version control, code review, and proper testing. Odoo.sh makes this transition seamless with its Git-based deployment.

    Frequently Asked Questions

    Need Help Implementing This?

    Our team can help you put these insights into practice.

    Schedule a Consultation