In this piece
Odoo AI credits: budget a reviewed quotation workflow
A sales team wants AI to help prepare the next thousand Odoo quotations. Somebody still has to approve the customer, lines and prices. Before finance approves that queue, the budget needs an allowance for rejected drafts and rework as well as credits and the subscription change.
Budget an Odoo 20 AI-assisted quotation queue with separate allowances for the subscription change, consumed IAP credits, initial review, correction and operation; count a quotation as accepted only when its named reviewer approves the agreed draft. Keep credit purchases in a separate cash view, set an observation period and stop expanding the queue when a spending or quality limit is reached.
Research checked: 5 November 2026. Product facts below use the inspected official Odoo sources. The scenario, calculator and CSV are synthetic planning aids. We did not run a live Odoo pilot, measure AI quality or obtain a subscription quotation.
Which Odoo AI costs can you verify today?
Verify the subscription effect and the billing route before estimating usage. A product’s credit price answers only one input. It does not establish how many credits your configured task will consume, how much review it needs, or whether the same credential arrangement applies after a version change.
Odoo’s 20.0 AI overview states that installing AI on Standard triggers a Custom upsell and that AI uses IAP credits. The inspected AI IAP listing shows €1 per credit, 20 free credits and variable consumption by task and request. It does not give a universal price per accepted workflow.
The 20.0 API-key page was under construction when checked. The separate 19.0 documentation describes provider-key arrangements for that version. Treat the version boundary as an open purchasing question until your current route is confirmed.
Ask for the plan change in writing for your users, billing term, currency and configuration. Use that written quotation as the subscription input. A percentage uplift remembered from another contract is not a substitute for that evidence.
What is the quotation reviewer approving?
For this proposed queue, acceptance means a named reviewer approves a draft against the source request: correct customer, products, quantities and pricing basis. The AI-assisted draft is a candidate for review. Budget initial checks and subsequent corrections separately, and leave an unresolved quotation out of the accepted total.
This is a planning scenario, not a claim that installing the AI app creates this complete workflow. The implementation team must establish which drafting and review steps the configured system supports. The separate email and PDF quotation review guide owns that implementation decision.
The synthetic ledger records one row per quotation. Two hundred rows include another attempt and 2.5 minutes of correction; every row includes one minute of initial review. Nine hundred drafts are accepted and one hundred remain unresolved. These values demonstrate a budget, not achievable Odoo performance.
Our cost per token versus cost per task guide explains why the outcome denominator matters. Here we apply that principle to this exact quotation queue, with the selected acceptance rule and all review work included.
How much would this reviewed quotation queue cost?
The example totals consumed credits, initial quotation review, correction work, a hypothetical subscription uplift and an operating allocation, then divides by accepted quotations. Every workflow input is invented for planning. The arithmetic is reproducible; the numbers do not predict Odoo consumption, staff efficiency or an achievable acceptance rate in your environment.
| Input | Illustrative assumption | Period cost |
|---|---|---|
| Quotations | 1,000 reviewed; 900 accepted; 100 unresolved | Denominator: 900 |
| IAP consumption | 600 credits at €1 | €600 |
| Initial review | 1 minute for each of 1,000 quotations at €60 per hour | €1,000 |
| Correction work | 2.5 additional minutes for 200 quotations at €60 per hour | €500 |
| Subscription change | Assumed period uplift; replace with a quote | €300 |
| Ongoing operation | Assumed monitoring and support allocation | €180 |
| Total | €600 + €1,000 + €500 + €300 + €180 | €2,580 |
| Accepted-quotation cost | €2,580 / 900 | €2.87, rounded |
Initial review applies to all 1,000 quotations in this example, including the unresolved hundred. Correction is an additional line, so the budget can reveal when rework consumes its allowance. The CSV also contains 1,200 attempts aggregated into those 1,000 case rows. Its allocation of credits to rows is synthetic; it is not a claim about Odoo’s charging granularity or a per-request tariff.
Download the Python budget calculator and synthetic case ledger into the same directory. Run python3 odoo_ai_budget.py synthetic_cases.csv. It uses Python’s standard library, makes no network requests and rejects duplicate case identifiers. Replace the inputs before using its result in a purchasing decision.
This is a period operating view. Keep one-time configuration, integration, training and acceptance work visible alongside it. If you choose to allocate setup over a useful life, state the amount, horizon and expected case volume separately. Do not silently turn an optimistic future volume into a lower current operating cost.
Why are purchased credits different from consumed credits?
Credit purchases determine cash required for the period; consumed credits determine the usage component of this model. Keep opening balance, purchases, consumption and closing balance in a reconciliation. Combining them in one cost line can double-count consumption or make a large remaining balance look like expensive workflow execution.
Suppose the example starts with zero credits, buys 1,000 and consumes 600. Credit purchase cash is €1,000 and the remaining balance is 400 credits. The consumption line is €600. Both numbers matter to the approval, but they answer different questions. This is management arithmetic, not a prescription for statutory accounting treatment.
Record the period and database or account to which the usage belongs. Where the available billing export is less detailed than the workflow ledger, label the allocation method and the unallocated difference. Do not pretend that a spreadsheet has created task-level billing evidence that the source system did not provide.
Which inputs change the decision most?
Change one assumption at a time to see which missing observation could overturn the approval. In this example, review time and accepted-case count deserve attention because their assumed values materially affect the result. That conclusion follows from this scenario’s arithmetic; another workflow can have a different cost structure.
| Scenario | Period cost | Cost per accepted case |
|---|---|---|
| Base: 900 accepted; 200 quotations require correction | €2,580 | €2.87 |
| Only 800 accepted | €2,580 | €3.23 |
| Correction rises from 200 to 400 quotations | €3,080 | €3.42 |
| Credits double to 1,200; 900 accepted | €3,180 | €3.53 |
These are separate hypothetical scenarios, not a probability forecast. Doubling consumed credits also requires sufficient purchased or opening credits. For a real pilot, preserve complex cases and exceptions in the sample; a budget calculated only from easy examples cannot describe the full queue.
A savings claim needs a comparable baseline: the same scope, acceptance rule, period and labor basis without the proposed change. This article does not supply that baseline. A lower model charge alone cannot establish a better business result.
What should stop the quotation queue from expanding?
Use explicit credit, labor and acceptance limits for the observation period. In this example, 600 consumed credits and 25 human hours define the variable-cost envelope; the plan and operating allocation add €480. A reached limit triggers a review of the queue, not a promise that every quotation will finish within it.
Assign a named owner to check usage and outstanding drafts at an agreed interval. This is a proposed operating control; the article does not establish that Odoo provides a hard stop for this combined credit-and-labor budget. A billing alert alone also cannot measure the correction time in your queue.
| Decision input | Evidence to retain | Approval question |
|---|---|---|
| Subscription | Current plan, proposed change and written quote | Is the full uplift budgeted? |
| AI route | Version, enabled feature, provider/key route and confirmed charging terms | Are we budgeting the configured route? |
| Credit movement | Opening balance, purchases, usage and closing balance for the same period | Can we explain every difference? |
| Acceptance | Unique case IDs, acceptance rule, reviewer decision and unresolved queue | Are we counting the outcome we agreed to buy? |
| Human effort | Review, correction and exception-handling observations | Does the result include the work that remains? |
| Stop condition | Named owner, spend ceiling and business-quality threshold | Who pauses expansion when the evidence fails? |
Cost approval does not settle integration constraints or processing location. Use the existing Odoo API integration limits guide for platform boundaries and the Odoo AI processing-location checklist for the data path. Those are separate decisions that can change what you are allowed to pilot.
What would we approve first?
Start with one quotation queue, one reviewer acceptance rule and one observation period. Obtain the subscription quote, confirm the configured AI billing route, and collect the credit and review evidence together. Approve a larger volume only when the remaining uncertainty is affordable and someone owns the unresolved work.
If the underlying question is whether a standard feature fits the business requirement, use our custom software versus off-the-shelf decision guide before funding an extension. The Twinsoft AI case study provides separate project context; it is not evidence for the synthetic Odoo numbers above.
Wavect’s technology consulting can help turn these inputs into a reviewable rollout decision. Discuss an Odoo AI rollout budget with the current plan, intended workflow and unanswered purchasing questions.
