

One source of truth for 50+ dropshipping stores: How Vive Health automated sales of 1,000+ medical products
Vive Health is a US medical equipment brand from Florida. It designs and manufactures its own mobility aids, braces, bathroom safety products and physical therapy tools, and ships them from four warehouses across the country. Alongside its online store and B2B portal, Vive sells through a network of 50+ dropshipping partners: independent Shopify stores that list Vive products.
That network ran on manual updates, which made it hard to grow: every new partner added more work for both sides.
DigitalSuits built custom Shopify integration to connect each partner's store directly to Vive's ERP. Products, stock, prices and orders now sync automatically, with no daily manual handling.
Client
Vive Health
Country
United States
Partnership period
August 2024 – October 2025
Team
2 Shopify developers, Project manager, QA
Technologies
Shopify, Shopify Polaris, Node.js (NestJS), PostgreSQL, AWS, AWS SQS, Odoo ERP






A dropshipping network held together by spreadsheets
The manual setup kept orders coming in, but the bigger the network grew, the harder it was to keep every store in step with Vive's inventory and pricing policy.
Before scaling the channel, Vive had four problems to solve.
- Stock data that went stale within hours. Every day, Vive exported a CSV file with its catalogue and stock levels and sent it to each partner. Partners then updated their stores manually. New products, discontinued items and stock-outs travelled the same way, so a store was only as accurate as its last manual update.
- Overselling from one shared inventory. All partners sold from the same Vive stock, but none had a live link to it. After one partner sold the last 10 units, other stores still showed them as available until the next file, so the same units could be sold again. Vive only found out once the orders came in, and customers promised delivery in a week, waited three. That hurt both the partner's customer relationships and Vive's brand.
- No control over partner pricing. Vive sets a minimum advertised price (MAP) so partners don't undercut its own store or each other. But with 1,000+ products across dozens of stores, checking meant opening product pages one by one. So, a store could list Vive products below MAP and go unnoticed, pulling buyers away from Vive and from partners who played by the rules.
- An ERP too custom for standard connectors. The natural fix was to connect every partner store to Vive's Odoo ERP. But Vive's dedicated Odoo instance carried custom logic, including partner-specific catalogues and prices. The Odoo version it ran at the time also had no native connectors, so off-the-shelf apps couldn't work with it.
To keep growing the network, Vive needed live connection between Odoo and every partner store.
Turning the ERP into a single source of truth for the dropshipping network
DigitalSuits designed and delivered a custom Shopify app that any approved dropshipping partner can install and connect in minutes. Once connected, the partner gets Vive's latest catalogue and stays in sync with stock and order updates, eliminating the need for manual operations.
Getting there took more than a standard integration. Here's how we solved each piece of the puzzle.
Mapping Vive's operations before writing code
We started with business analysis, working with the Vive staff who run Odoo day to day. Three things shaped the app:
- Stock and product structure. We mapped how Vive's warehouses are set up, how stock is tracked for each product and location, and how Odoo's product structure translates into Shopify products and variants.
- Fulfillment model. Vive ships every order straight from its own warehouses, with no repackaging by partners. That kept the app lean: orders go to Odoo, and partner stores need no fulfillment logic of their own.
- Partner identity. Every dropshipper exists in Odoo as a company with its own access token. The token decides which products and prices the partner sees, and every order carries the partner's identity, so Odoo matches it to the right account.
Defining the integration contract with Odoo
The Odoo version Vive ran at the time had no REST or GraphQL API and no webhooks. Yet the app had to know as soon as stock changed, a product was added or discontinued, or an order shipped.
We designed the integration from the Shopify side and defined exactly what the ERP needed to provide:
- product creation and update events
- stock changes
- product status changes
- tracking numbers
- MAP updates
- a full catalogue export
Then, we built a bridge between Odoo and the app. It gave the app a modern API to talk to, translating every request into the format Odoo understood. It also checked Odoo on a schedule and passed any changes to the app as events. We also defined the format for incoming orders and set up the stock reserve logic inside Odoo.
This way, Odoo stayed in charge of Vive's business rules, and the app focused on what partners see and do in Shopify.
A catalogue import that never breaks halfway s
With the app, a partner can import Vive's whole catalogue in one click. Making that work was one of our hardest engineering problems, because many dropshippers run their stores on Shopify's Basic plan, which strictly limits API calls. Importing thousands of products at once would hit that limit fast, leaving imports broken or half-finished.
We routed every import through queues. Products are synced one batch at a time within Shopify's limits, and if anything fails mid-way, the app resumes from where it stopped instead of losing progress. Partners see a progress bar and an estimated time. In testing, a catalogue of around 1,000 products synced in under 30 minutes on a Basic-plan store.
Imported products land in the partner's store with safeguards built in:
- Draft status by default, so partners review medical product descriptions before anything goes on sale
- A "Vive Health" tag and a dedicated metafield, so both the partner and the app can tell Vive products apart from the rest of the store
- A separate Vive Health warehouse location, so dropship stock never mixes with the partner's own inventory
Stock and availability, controlled from one place
Every partner store sells from the same Vive inventory, so a sale in one store has to show up in all the others quickly. When Odoo reports a stock change, the app knows exactly which stores carry that product and pushes the new quantity to each of them through the queue.
Two extra rules protect against overselling. Vive holds a reserve in Odoo, so the quantity partners see is always slightly lower than the real stock, which leaves room for orders placed at the same moment. And when Vive has more than 500 units of a product, partner stores show 500, not the full amount.
Product availability syncs the same way. When Vive deactivates a product in Odoo, it switches to draft in every partner store and disappears from sale. When Vive discontinues a product, it's archived.
From partner sale to shipped order
Any dropshipping order containing at least one Vive product goes to Odoo automatically, tagged with the partner's company so Vive knows whose order it is.
Once the warehouse ships the order and adds a tracking number, the app sends it back to the partner's store and marks the order fulfilled. If the order also includes the partner's own products, it's marked partially fulfilled, so the partner knows the rest is still theirs to ship.
Here's how a single order moves between the partner's side and Vive's side:
Inside the app, an Orders page lists every dropship order with its sync status, and partners can retry any order that failed to reach Odoo.
Automating price monitoring
We built an automated price checker into the app to keep every partner listing in line with Vive's MAP. Every night, US time, the checker compares each imported product's live price and re-checks a product whenever Vive changes its MAP in Odoo.
When a price is off, both sides know. Vive's team gets the store, product, expected price, actual price and the owner's contact. The partner sees a banner and a price error next to the product, with a one-click re-sync.
The re-sync replaces the partner's version of the product with Vive's official data, including the description, not just the price. We designed it this way on purpose: if a partner has edited the price, they may have edited the description too. For medical products, an inaccurate description could mislead buyers about how to use a product safely, so Vive wants it restored along with the price.
Turning an integration into a product
We built the app as a real product that partners install, pay for and run on their own. Shopify Polaris gives it an interface that feels native in Shopify Admin, and Shopify's Billing API handles a paid monthly plan, with free access for pilot partners. Vive shares the install link privately with each approved partner, so only the stores it chooses can connect.
Here's what that looks like for a partner, from installing the app to making the first sale:
The app passed Shopify App Store review and launched in August 2025. Soon after, we added discount codes so Vive can offer a second pricing tier to selected partners.
1,000+ products in sync across 50+ partner stores
Vive's dropshipping channel now runs on live data instead of daily files. Every partner store sells from the same stock figures as Vive's warehouses, orders reach Odoo the moment they're placed, and pricing is checked by software instead of by hand.
Here's what that looks like in numbers:
50+ partner stores
Connected to a single source of truth
Real-time sync
Stock changes reach every store as they happen in Odoo
~1,000 items imported in 30 minutes
Even on Shopify's Basic plan
100% of imported listings
Checked automatically against Vive's MAP
Free pilot to $149/month
The app now earns a monthly subscription




