A BMW dealer’s working day revolves around spare parts. A customer calls looking for a mirror. A technician calls out from the workshop: the brake discs have run out. A salesperson needs a price for a quote before the customer leaves. Each time, the routine is the same: open BMW’s RIS Portal, find the part, note down the price, switch to another system and enter the details again. Place the order separately in the portal, then update stock levels by hand.
It is slow, error-prone and frustrating work, repeated dozens or even hundreds of times a week.
At Sukkela, we built a solution.
Odoo and BMW now speak the same language
We developed an Odoo module that connects directly to BMW’s RIS Portal APIs. In practice, spare parts master data flows automatically from BMW into Odoo, and orders go straight from Odoo to BMW. This removes the need for intermediaries, copying and pasting, or separate portals.
The integration uses two official BMW APIs. ATLAS handles spare parts master data: part numbers, descriptions, prices, availability information, customs codes and product classifications. OPUS handles ordering, including availability checks, order simulations, order submission and delivery tracking.
Both operate securely in real time, in accordance with BMW’s own API standards.
Sukkela.io is an official BMW partner. The integration therefore uses the same machine-to-machine (M2M) APIs that BMW provides to its authorised partners and requires most of them to use. Authentication, data structures and security comply with BMW’s own requirements.
The integration in practice
A technician discovers a worn part during a service and enters its part number on the product record in Odoo. With one click, the system retrieves the description, price, availability status and all technical details from BMW’s ATLAS database. The information is filled in directly on the Odoo product record.
When the part needs to be ordered, the buyer creates a standard purchase order in Odoo. Before submitting it, they can simulate the order: BMW’s system returns estimated delivery times and confirms that the parts are available. Once everything looks right, a single click sends the order to BMW. The order status updates automatically.
The entire process, which previously involved four different systems and tens of minutes of manual work, now takes place in a single interface in a matter of seconds.
This also works for purchase orders containing ten different spare parts at once. Each part’s details are retrieved, priced and ordered in the same workflow.
Keeping prices up to date automatically
Maintaining prices is a persistent challenge with BMW spare parts. BMW updates its price list regularly, and every dealer knows the frustration of sending a customer a quote based on an outdated price.
Our integration handles this through automatic synchronisation. Every week, the system retrieves the full BMW spare parts catalogue and stores it in a local cache. Products in Odoo update automatically, but only when information has actually changed. Prices are kept up to date without burdening the system with unnecessary updates.
The local cache is a deliberate design choice. BMW’s catalogue contains a vast number of parts, and users need quick answers whenever they look something up. The cache makes searches almost instant, even with a database containing hundreds of thousands of parts.
For example, a customer calls to ask for a price. The salesperson enters the part number in Odoo and gets the price in a second. There is no need to open another browser, log in to a portal or wait for a page to load: the ATLAS data has already been synchronised locally.
Place orders where your buyers already work
Many ERP integrations fall short by forcing users to learn a new tool. We kept BMW orders within the familiar Odoo purchase order workflow. Buyers create a purchase order as before, with two additional buttons: “Simulate BMW order” and “Send to BMW”. A separate BMW portal or a new screen is unnecessary.
Simulation is an important feature. It sends a test version of the order to BMW’s system, which returns estimated delivery times and confirms that the parts can be ordered. Buyers can review the details before committing. The actual order is only submitted to BMW and becomes binding once the buyer decides to proceed.
Order statuses update automatically. The system checks progress with BMW at a configurable interval, such as once an hour, so buyers do not need to track deliveries manually.
Another practical benefit is the ability to check availability directly from the product record. Before making a promise to a customer, one click checks whether BMW has the part available and which warehouse holds it. This avoids leaving customers waiting for a part that turns out to take weeks to arrive rather than days.
Fewer errors with less manual data entry
Every manual transfer of information creates an opportunity for error: a mistyped part number, a missing decimal point in a price or an incorrect order quantity. These are common, costly mistakes. Returns, replacement orders and apologies to customers consume time and reduce margins.
When data flows directly from BMW’s system into Odoo without manual entry, errors fall to a fraction of their previous level. Part numbers come straight from ATLAS, prices update automatically, and order quantities are passed unchanged from the purchase order to BMW. This removes human error from the steps where it is most likely to occur.
The difference is particularly clear during busy periods. With three motorcycles in the workshop waiting for parts and the phone ringing, nobody has time to double-check every number. Automation maintains accuracy even when people are under pressure.
Built for BMW dealers and authorised workshops
The integration is designed for BMW dealers and authorised service centres. BMW uses the same ATLAS and OPUS APIs in Finland, Sweden and Norway, so the integration is relevant to dealers in all three markets. If your daily work involves selling or ordering BMW spare parts, or managing parts needed for servicing, it was designed for you.
Organisations that still handle spare parts manually or work across several separate systems stand to benefit most. The more parts you handle, the greater the impact of automation. Saving even one minute in the process for each part quickly adds up when daily volumes are high.
Odoo provides a platform that scales with the business. It is a complete ERP system covering sales, purchasing, inventory management, invoicing and more. The BMW integration is one part of that wider system, removing manual work from a process that demands a great deal of it.
If you already use Odoo, the integration fits directly into your existing environment. If you have yet to adopt it, this can be a good reason to start. BMW spare parts handling is a concrete example of how an ERP system delivers benefits immediately in daily work, with results you can see well before the next reporting cycle.
Why Sukkela
We are Odoo specialists who understand both the technical work of building integrations and the needs of a business. Integrating BMW’s RIS APIs takes careful work: authentication, request headers, data structures and error handling all need to be right. We have already done that work.
The module is in production use and has been tested against BMW’s official user acceptance testing (UAT) and production environments. It follows BMW’s current API specifications, and we actively maintain it.
Implementation does not necessarily mean a project lasting several months. The integration is a ready-made Odoo module that installs into an existing Odoo environment. Configuration requires BMW API credentials and a few settings, after which the system is ready to use. We support you throughout installation, configuration, training and ongoing operation.
The next step
If managing BMW spare parts is part of your daily work and you would like to see the process without manual data entry, get in touch. We would be happy to demonstrate the full workflow: retrieving a part from ATLAS, pricing it, checking availability and submitting the order to BMW through OPUS, all within Odoo.
Book a demo or ask us for more information.
Sukkela is a Finnish Odoo partner building ERP solutions for businesses that want to work more efficiently.
Book an online meeting
Let’s discuss how we can help and recommend the solution we believe best suits your business.