Edoo app · Odoo 20 Community and Enterprise

Sales price formation for Odoo, from invoice cost to real margin

An app standard Odoo does not have: it sets sales prices from the real cost of each purchase, taxes, fees and fixed costs, shows before and after for every product and only applies when you approve. It was born in OdooPME, our management solution, and is now available for any Odoo 20.

  • Odoo 20 Community
  • Odoo 20 Enterprise
  • Integrated with purchase NF-e
Price review of a purchase invoice with margin summary and new price per product
Average margin 12.1% → 20.8%
Notebook: R$ 34.90 → R$ 44.90
No price changes without your approval

Real system screens with fictitious demo data.

3pricing methods
5rule levels, from one product to the whole store
8flagged situations on every line
0prices changed without your click
Every retailer knows this

Profit disappears quietly, one product at a time

Nobody decides to lose margin. It slips away between a supplier invoice and the month-end close, and nobody notices.

The invoice nobody read

The notebook that cost R$ 18.40 now costs R$ 24.60. The shelf price is still R$ 34.90 and the margin dropped to 5.5%.

The "cost + 40%" rule of thumb

It looks like profit. But after taxes, card fees and rent, a R$ 50.00 product sold at R$ 70.00 leaves only R$ 3.20.

The side spreadsheet

Someone recalculates everything in Excel, types it into the system product by product, and nobody can tell who changed which price, or when.

The new item that blocks receiving

The invoice brings a product that is not registered and the purchase stalls, without saying which one or at what price to sell.

Do the math

Why "40% on top of cost" is not 40% profit

Taxes, card fees, commission and fixed costs are charged on the price the customer pays, not on what you paid the supplier. Change the numbers to match your store and compare.

The usual way
Sales price-
Left in your pocket-
Real margin-
Divisor markup (Edoo)
Sales price-
Left in your pocket-
Real margin-
CostTaxes and costsProfit
Profit difference per unit sold:-

Divisor markup formula: price = cost ÷ (1 − sum of percentages ÷ 100), rounded up to the next .90 ending. Illustrative values.

Same product, three prices

R$ 50.00 cost and 24% of the price in costs

How the price was setPriceSales costsLeft overReal margin
Cost + 40%R$ 70.00R$ 16.80R$ 3.204.6%
Cost + 100% ("double it")R$ 100.00R$ 24.00R$ 26.0026.0%
Divisor markup with 20% profitR$ 89.90R$ 21.58R$ 18.3220.4%
How it works

From supplier invoice to shelf price, with you in control

Everything lives in the Inventory app, under the Price formation menu. The system does the math, shows before and after, and waits for your decision.

01

The pricing recipe: the profile

You enter what each sale costs you and the profit you want. As you type, the simulation shows the price, what goes to taxes and costs, and the real margin.

  • Divisor markup, multiplier markup or supplier suggested price
  • Cost from the last purchase invoice, product cost or supplier price
  • Commercial endings .90, .99 or whole, always rounded up
Retail price profile with sales percentages and simulation of price and real margin
02

Each product group with its own margin

Furniture moves slowly, imports follow an index, books follow the cover price. Rules say which profile each group uses, and the most specific one wins.

  • By product, by supplier, by category (with subcategories)
  • Books recognized by NCM code 4901
  • Ready out of the box: Retail (default) and Books (cover price)
Price rules by product, supplier, books, category and all products
03

The invoice arrived: this invoice's prices in one click

The imported purchase invoice (NF-e) gets a Prices for this invoice button. When it brings items that are not registered, a New items to register button shows up too.

  • Real line cost: product + freight, insurance, other expenses, IPI and ICMS-ST, minus discounts
  • New item created with name, barcode, NCM and supplier from the XML
  • A repeated barcode becomes a link, not a duplicate record
Purchase NF-e with the Prices for this invoice button and the invoice items
04

The review: from → to, before anything changes

One line per product, with new cost, current price, new price, change and margin today versus with the new price. Type a different price and see the margin instantly.

  • Large changes and below-minimum margins come unchecked: your call
  • Only checked lines change when you click Apply prices
  • Price and cost go to the product and into the history
Review lines with cost, current price, new price, change, margins and status
05

On the product: suggested, automatic or locked

The Price formation tab shows the profile picked by the rules, the price it would set today, the real margin and the last purchase cost. And it defines how the product reacts to a new cost.

  • Suggested: the price waits in the review for you to apply
  • Automatic: the line comes checked, even with a large change
  • Locked: campaign or showcase prices never change on their own
Product Price formation tab with mode, profile, price, real margin and last purchase
06

History: who changed it, when and why

Every applied price is recorded with old and new price, cost used, real margin, source invoice, review and user.

  • Price changes button right on the product
  • Repricing without an invoice: select products and run Set price
  • An applied review is final: to change again, run a new review
Price history with old price, new price, cost, real margin and source
Every line tells its story

Eight situations you see without doing any math

Ok

Within the profile limits. Comes checked.

Large change

Beyond the maximum change, up or down.

Below minimum margin

The new price real margin is below the minimum.

Below cost

The new price is lower than the cost.

Locked price

The product takes no automatic price; it only shows the new margin.

No change

The new price equals the current one.

No cost

Zero cost: no price can be set.

New item

Not registered yet. Register it before applying.

Bookstores and publishers

For books, the cover price rules

The publisher sets the cover price and invoices with a discount. The Books (cover price) profile reads the gross invoice value as the cover: the R$ 59.90 book with a 40% discount costs R$ 35.94, the price goes from R$ 54.90 to R$ 59.90 and the screen shows the margin left, 16.0%.

Invoice without discount? The system keeps the current price and flags it if the margin drops.

Price review of a book following the publisher cover price
Born in OdooPME

An app born from what retailers really needed

OdooPME is Edoo's management solution for small and mid-sized Brazilian businesses. Our customers, retailers, bookstores and distributors, kept asking for the same thing: stop recalculating prices in a spreadsheet on every supplier invoice. Odoo has pricelists, but it does not set the price from the real cost with taxes and fixed costs, nor show the margin before applying. We built Price Formation for OdooPME and, once proven in daily use, turned it into an app for any Odoo 20, Community or Enterprise.

  • Built and maintained by Edoo Tecnologia
  • Proven with OdooPME customers
  • Odoo 20 Community and Enterprise
What is in the app

Two modules that work together

Price Formation

Price profiles, rules, reviews, product modes, Set price action on the product list and price history. Works with product cost or supplier price.

Odoo 20 CommunityOdoo 20 Enterprise

Price Formation · Purchase NF-e

Connects price formation to the purchase NF-e import of the Edoo tax apps: real line cost, Prices for this invoice and New items to register buttons, and item creation from the XML.

Odoo 20 CommunityOdoo 20 Enterprise
See the tax apps
Safety

What the system will not let happen

Nothing changes without your click

No price reaches the product until someone clicks Apply prices. Discarding a review changes nothing.

No duplicate records

A new item is not applied before it is registered, and a repeated barcode never becomes a second product.

Locked means locked

A product in Locked mode never changes price on its own. The review only shows the new margin.

Impossible math is refused

A profile whose percentages add up to 100% of the price or more is refused, because no price could cover it.

Full audit trail

The change is logged on the product, the review and the invoice, with user and date.

Works across every channel

The applied price goes to the Sales price used by sales, POS, the online store and pricelists based on it.

Who it is for

Built for businesses that buy with invoices and sell over the counter, at the POS or online

Retail and stationery

Hundreds of items, cost changing on every invoice.

Bookstores and publishers

Cover price and margin from the publisher discount.

Furniture and decor

Slow turnover needs a higher margin, in one rule.

Imported goods

Multiplier markup per supplier, with the real margin in sight.

Building materials

Freight and ST that eat margin go into the cost.

Fashion and footwear

Segment index, locked showcase prices.

Documentation

Full step-by-step guide, with every screen

Profile fields, pricing methods, rules, review, books, product modes and FAQ in the official guide.

Official guide in Portuguese, updated with every release
Read the documentation
FAQ

Questions about price formation

Does the cost include freight and invoice taxes?

Yes. Each line unit cost is the product value plus freight, insurance, other expenses, IPI and ICMS-ST, minus discounts, divided by quantity.

Why is the price slightly above the calculation?

Because rounding always goes up to the next ending chosen in the profile, so the commercial ending never reduces the margin you asked for.

Can I change the suggested price before applying?

Yes. Type the value in the line New price: change, margin and status are recalculated instantly.

Which percentages should I use?

Your own numbers: the effective tax rate comes from your accountant, the card fee from your terminal statement, and fixed costs are the monthly total divided by monthly revenue.

Do I need an invoice to reprice?

No. In the product list, select the items, open the Actions menu and choose Set price. The system creates a review with those products and the rest is the same: check, tick and apply.

I have more than one company in the system.

Profiles and rules can belong to one company or be shared with all of them by leaving the Company field empty.

Does the new price apply to the online store and POS?

Yes. The applied price goes to the product Sales price, used by sales, POS, the online store and pricelists based on it.

Does it work on Odoo Community?

Yes. The modules are available for Odoo 20 Community and Enterprise.

Do I need the Edoo tax apps?

Only for the purchase NF-e part. Without them, price formation works with product cost or supplier price and the Set price action on the product list.

Bring Price Formation to your Odoo 20

Talk to Edoo to install the modules in your environment, Community or Enterprise, and set up profiles with your company's numbers.