Skip to Content
Odoo Approvals app icon

Odoo Approvals

Odoo Approvals and Planning: Who Says Yes, and Who Works When

These two apps solve the pair of questions every growing company hits at once: who is allowed to authorise this, and who is supposed to be working on Thursday. Both are simple tools that get built into something unmaintainable if you let them.

01

What these two apps actually are

Approvals is a generic request-and-authorise app: someone raises a request, defined approvers say yes or no, and the outcome is recorded. It is in Community.

Planning is shift scheduling: who is working when, in what role, at what location, published to the people concerned. It is Enterprise.

They are grouped here because they are the two governance tools most businesses reach for at the same moment, which is the point where informal arrangements stop scaling. And both fail in the same way, which is being configured to model an organisation's full theoretical complexity rather than what it actually needs.

Odoo approvals planning, planning shifts overview
Planning shifts overview

02

Approvals, and knowing when not to use it

The first thing to understand is that much of Odoo already has approval built in, attached to the record it governs. Purchase has double validation above a value threshold. Time off routes to the manager. Expenses route for approval. Invoices have a validation step.

Use those where they exist. An approval attached to the purchase order is better than a parallel request that references it, because there is one record and one state rather than two that can disagree.

The Approvals app is for requests with no natural home: travel authorisation, equipment, a general spending request, contract sign-off, access to something. Those genuinely have nowhere else to live, and a structured request with a recorded decision beats an email thread that ends "yes fine".

An approval type defines what a request needs, who approves it, and how many approvers must agree. That covers most real policies.

Where it stops is conditional routing that varies along several dimensions at once, meaning value and department and category together. That is where configuration ends and development begins, and it is worth asking whether the policy needs to be that complicated before paying to encode it. Most approval matrices are elaborate because nobody has ever pruned them, not because the risk demands it.

Odoo approvals planning, planning shift scheduling
Planning shift scheduling

03

Planning, and scheduling people rather than tasks

A shift has a person or a role, a time, a duration, and optionally a project or a location. Shifts are drafted, then published, at which point the people concerned can see them.

The draft-then-publish split matters. A schedule that changes under someone after they have read it is worse than a schedule published later, so plan in draft and publish deliberately.

Open shifts are the feature most likely to save a scheduler real time. A shift published to a role rather than a person can be taken by anyone qualified, which turns filling gaps from a round of messages into self-service.

Availability comes from HR: working schedules and approved time off. This is only as good as the upstream data, so Planning on top of a Time Off module nobody uses will confidently schedule people who are away.

Odoo approvals planning, planning shift swapping
Planning shift swapping

Screenshots of Odoo are the property of Odoo S.A. and are shown here to illustrate the app they depict.

Planning against Project, which people conflate

Planning is forward-looking capacity: who is available and what are they assigned to. Project is work: what needs doing and what stage it is at. Timesheets is the past: what actually happened.

A services business often wants all three, and the sequence matters. Timesheets first, because everything financial depends on it. Project second. Planning last, once you know from real data how long work actually takes, because a capacity plan built on estimates is a plan built on hope.

Where these will fight you

Over-modelling is the main risk in both. A twelve-step approval chain and a shift plan with forty role permutations are both signs that somebody modelled the org chart instead of the process. Each extra step is a delay and a place for a request to stall.

Approval fatigue is real. An approver receiving thirty requests a week approves them without reading, which is worse than no approval because it manufactures a false control. Fewer, higher-value approvals are more genuine.

Planning is Enterprise, and a small team with a stable rota may be adequately served by a shared calendar.

Planning depends on HR data quality. Say this out loud during a rollout.

Neither replaces a conversation. A rejected approval with no comment and a published shift nobody was warned about both create more work than they save.

How they connect to everything else

Approvals can reference purchases, expenses and employees, and approved requests can post to Accounting where money is involved. Planning reads working schedules and time off from HR, can schedule against Project tasks and Field Service work, and feeds the capacity view a services business plans against. Both notify through the same activity and chatter mechanism as everything else, so a pending approval appears in the same list as every other thing waiting on you.

Where to start

For approvals, list what actually needs authorising and cross off everything already handled inside another module. Then build the smallest number of types that covers the rest, with the fewest approvers that genuinely reduces risk. For planning, get Time Off used properly first, then schedule one team for a month, and use open shifts rather than assigning every slot by hand. In both cases, plan to remove steps after a quarter, because the first version is always more elaborate than the business needs.

FAQ

Odoo Approvals, answered.

Are Approvals and Planning free?

Approvals is in Community. Planning is an Enterprise app. Several modules also carry their own built-in approvals, such as the double validation on purchase orders and manager approval on time off and expenses, and those need no extra app at all.

When should I use the Approvals app rather than a module's own approval?

Use the module's own where it exists, because it is attached to the record it governs. Use the Approvals app for requests that have no natural home record: travel, equipment, contract sign-off, a general spending request.

Can approvals have several steps or several approvers?

Yes. An approval type can require a minimum number of approvers and route to specific people or roles. Complex conditional routing that varies by value, department and category together tends to exceed what configuration handles cleanly and becomes development.

What is the difference between Planning and Project?

Planning schedules who works when, as forward-looking shifts against people and roles. Project tracks what needs doing and how long it took. Planning answers capacity, Project answers delivery, and a services business usually wants both.

Does Planning know about time off?

Yes. Approved leave and working schedules from HR feed into availability, so the planner is not offering shifts to someone already on holiday. This depends on Time Off actually being used, which is the usual prerequisite.

Can employees pick up open shifts?

Yes. Shifts can be published without an assignee and offered to a role, so staff see and take them rather than a manager filling every slot manually. That is the feature most likely to reduce a scheduler's workload.

Related

Keep exploring.

Other Odoo apps we have written up in the same depth.

With CODEerts

Want this set up properly?

We are certified Odoo partners. We implement, customise and support Odoo Approvals, and we publish our own apps on the Odoo Store.

See how we can helpBook a call