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 Type | Use Case | Example |
|---|---|---|
| Text | Short text values | Customer account number |
| Integer/Float | Numeric values | Priority score, weight |
| Selection | Predefined options | Risk level, product grade |
| Many2one | Link to another record | Link order to department |
| Date | Date tracking | Contract expiry, review date |
| Boolean | Yes/No flags | VIP customer, requires approval |
| HTML | Rich text content | Special instructions, notes |
| Computed | Calculated values | Margin %, days until expiry |
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
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 Type | When It Fires | Example Use Case |
|---|---|---|
| On creation | New record saved | Send welcome email for new contact |
| On update | Field value changes | Notify manager when deal exceeds $50K |
| Based on condition | Condition becomes true | Alert when inventory falls below minimum |
| Based on time | Scheduled interval | Send reminder 3 days before due date |
| On deletion | Record removed | Log 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.
- Define the app purpose and data requirements (what information needs to be tracked)
- Create a new app from Studio's app builder with a name and icon
- Add fields to the main model: drag and drop the data fields you need
- Configure form, list, and kanban views for data entry and display
- Add menu items to make the app accessible from the main navigation
- Set access rights: which user groups can read, create, edit, and delete records
- Create automated actions for business rules and notifications
- Build reports for PDF export and data analysis
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.
| Practice | Why | How |
|---|---|---|
| Document all changes | Future team members need context | Maintain a change log with dates and reasons |
| Test in staging first | Prevent production disruptions | Use Odoo.sh staging or backup restore |
| Limit Studio access | Prevent uncontrolled changes | Restrict to trained administrators |
| Review quarterly | Remove unused customizations | Audit fields, actions, and apps quarterly |
| Export customizations | Backup and version control | Export Studio changes as module files |
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
Related services from Verbsz Technologies
If this article is relevant to a project on your roadmap, these are the services our team typically delivers.
