ERPNext for ecommerce and marketplace sellers

ERPNext can run orders, stock, payments and accounting for brands selling on Shopify, Amazon and other marketplaces from one back office. This page covers what to configure, what to build, and what to ask a partner.

On this page

How ERPNext fits ecommerce and marketplace sellers

A multi-channel brand usually runs orders in the storefront, stock in a warehouse system, and payouts in each marketplace's seller portal, so finance reconciles the same sale three times. ERPNext for ecommerce and marketplace sellers centers on one back office for accounting, inventory and order flow. The frappe/ecommerce_integrations app, maintained alongside ERPNext, covers Shopify, Unicommerce, Zenoti and Amazon, and each connector maps channel orders into ERPNext sales documents, stock movements and payments. The connector is the starting point, not the finished design: each channel has its own order statuses, fee structures, return flows and tax handling, and those mappings need to be written down before anyone configures them.

For finance, the change is that channel payouts, fees and refunds land in accounts that can be reconciled against bank feeds instead of exported spreadsheets. For operations, the change is that one stock ledger serves every channel, so a sale on one marketplace reduces the quantity another channel can promise. Operations should decide early which warehouse each channel draws from, whether marketplace fulfillment centers are tracked as separate warehouses, and how returns are received back into saleable stock. For the storefront team, the change is mostly on the data side: product codes, variants and prices must match what the connectors expect, or orders will fail to import or import against the wrong item.

The fit depends on two things you must confirm before any build: which channels you sell on today and plan to add, and how you hold stock, whether in your own warehouses, in marketplace fulfillment centers, or in a mix. Check each connector's current support for your channel and your country with its maintainers, and confirm how it handles the order and payout data you rely on. A brand with one storefront and a single warehouse needs a much smaller design than one with several marketplaces, consignment stock and cross-border returns.

Which marketplace requirements shape the ERPNext build

This table lists the sales channel requirements that most often change how ERPNext is configured for a multichannel brand. Each row names the supporting source, what the requirement means for the build, and what to confirm in your own environment. Connector coverage is taken from the ecommerce_integrations README, while channel terms, fees and payout rules should be checked against each marketplace's current documentation.

RequirementSource of coverageWhat it means for the build
Channel order intakeShopify, Unicommerce, Zenoti and Amazon connectors listed in the ecommerce_integrations READMEDecide which channel orders become sales orders automatically, which need review, and how customer records are matched across channels.
Stock sync across channelsConnector coverage in the ecommerce_integrations README; sync rules confirmed in your environmentDefine which warehouse feeds each channel, how reserved stock is handled, and how often quantities are pushed back to each storefront.
Marketplace fees and payoutsConfirm the fee and settlement fields each marketplace exposes with your connector versionPlan accounts for commissions, shipping fees and reserves so that payouts reconcile to the invoices they settle.
Payment gateway reconciliationConfirm gateway and payout report formats with your payment providerMap each gateway settlement to bank accounts and clearing accounts so that payment entries close against the right invoices.
Shipping labelsConfirm label carrier support and integration method in your environmentDecide whether labels are generated from delivery notes, from a shipping tool, or in the marketplace, and where tracking numbers are stored.
ReturnsConfirm return and refund events each channel sends to your connectorSet up credit notes, restocking rules and refund postings so that returned stock and refunds are recorded consistently.
Multi-currency salesConfirm currency codes and exchange rate sources used by each channelConfigure price lists and currency accounts per channel, and agree which exchange rate date governs posted invoices.

Modules, settings and connectors that matter for multi-channel sales

Multi-channel selling on ERPNext depends on a small set of connectors and master data decisions made before the first order syncs. The cards below cover what each component moves between a storefront or marketplace and ERPNext, and what your team has to settle before turning anything on.

Ecommerce Integrations app

The frappe/ecommerce_integrations app adds connectors for Shopify, Amazon, Unicommerce and Zenoti to ERPNext. Each connector has its own settings, credentials and sync rules, so you choose which channels run first and confirm each one's current support in its README before planning. Ask the vendor or check the repository for the version your ERPNext release supports, since connector behavior changes between releases.

Item and warehouse mapping

Each marketplace lists products under its own SKU, identifiers and variant structure, and each order arrives referencing a channel location. Decide which ERPNext Item code becomes the master key, how variants and bundles map, and which ERPNext warehouse each channel draws stock from. Unmapped SKUs are the most common reason orders stall, so agree the mapping table and its owner before the first sync.

Sales order and delivery note flow

Decide whether each channel order creates a Sales Order that waits for fulfilment, or flows straight into a Delivery Note when stock is already picked. The choice drives when revenue and stock are booked, how partial shipments are handled, and how cancellations and returns reach ERPNext. Test refunds and split shipments with real order samples, not only the happy path.

Payment and fee accounts

Each marketplace settles money net of commissions, shipping fees and refunds, often on its own schedule. Map a clearing account per channel, a fee expense account for commissions, and a bank account for payouts, so settlements reconcile against bank lines. Confirm with your accountant how fees and reserves are recorded before go-live, because the accounts you create here shape every later month-end close.

Data Import for catalog and opening stock

Use the Data Import tool with the downloadable templates to load item masters, prices and opening stock balances before the connectors run. The documentation advises importing only a few thousand records at a time, so split large catalogs into batches and check each batch against the source before the next. Load master data first, because orders and stock movements depend on it.

Choosing a channel model: direct storefront, marketplace or aggregator

When most sales happen on your own Shopify storefront, the connector path is direct: the frappe/ecommerce_integrations app connects ERPNext to Shopify, and Shopify orders become ERPNext sales records that flow into invoicing, delivery and accounting. The storefront is the system of record for the customer and the price, so the design work centers on which system owns each field.

  • Order intake: Confirm which Shopify orders create sales orders, which create invoices directly, and how payment status from the storefront maps to ERPNext payment entries.
  • Stock sync direction: Decide whether ERPNext warehouse quantities push to Shopify inventory, and which warehouse feeds the storefront when stock sits in more than one location.
  • Item and price mapping: Agree how Shopify product variants map to ERPNext items, and who maintains item codes when a new product launches.
  • Fulfillment and returns: Settle whether delivery notes are created in ERPNext, and how refunds in Shopify are reflected in credit notes.
  • Scope of the connector: Confirm in the connector documentation which Shopify objects it syncs and which you must handle with custom scripts or manual steps.

Before go-live, test a full order cycle with a refund and a partial shipment, and confirm who can edit a synced order in each system.

Rollout phases for a multi-channel ERPNext back office

The sequence moves from channel rules and master data to a tested connector, reconciled money and labels, and a monitored go-live, so each stage proves the one before it.

  1. Map channels, fee rules and order flows

    DeployOpen and your finance and operations leads list every storefront and marketplace, the order types each one sends, commission and fee rules, payout timing, return handling and which team owns each exception. The output is a written channel map that states which system is the source of truth for price, stock, customer, order status and payment. You know this step is done when each channel has a named owner and every fee rule is written down with its accounting treatment.

  2. Build item, tax and account master data

    Your team and DeployOpen define item codes, variants, units of measure, price lists, tax templates per channel and region, and the ledger accounts where marketplace fees, shipping charges and payout clearing will post. Each marketplace SKU must map to one ERPNext item before any sync runs. Because the Data Import documentation advises importing only a few thousand records at a time, the catalog is loaded in batches, with each batch checked against the source file before the next one starts. Done means a reconciled item count per batch and a signed-off account map.

  3. Set up the connector in a sandbox

    DeployOpen installs the frappe/ecommerce_integrations app on a non-production ERPNext site and configures the channel connectors your map requires, such as Shopify, Amazon or Unicommerce where your stack uses them. Credentials are stored as encrypted settings, and each connector is tied to a named company, warehouse and price list. Confirm with each platform vendor which API scopes and sandbox accounts are available, since those details are not covered by the supplied facts. Done means a test order from each channel arrives in the sandbox and is mapped to the correct items and customer records.

  4. Test stock and order sync with a limited catalog

    Before the full catalog goes live, DeployOpen runs order intake, cancellations, partial fulfilments, returns and stock level updates against a small set of items that cover your edge cases, such as bundles, serial-tracked products and multi-warehouse stock. Your operations team checks that stock movements in ERPNext match the channel counts after each test cycle. Failures are logged with the channel order ID so they can be replayed. Done means every test case in the agreed list passes twice in a row and the mismatches found are resolved and documented.

  5. Reconcile payments and marketplace payouts

    Finance checks how each gateway and marketplace payout appears in ERPNext, including gross sales, fees, refunds, chargebacks and reserve holds. Payment entries and bank transactions are matched against the payout reports from each channel, and any unmatched amount gets a defined exception path. Confirm with your payment providers which settlement reports they supply, because that format determines how much matching can be automated. Done means one full payout cycle reconciles to zero unexplained difference, with the journal entries reviewed by your accountant.

  6. Connect the shipping label flow

    DeployOpen links fulfilment to the carriers and label providers you use, so delivery notes, package weights and tracking numbers flow back to the channel order. Warehouse staff print labels from the ERPNext order and the tracking status returns to the marketplace. Confirm carrier integration options with each provider, as the supplied facts do not describe them. Done means a sample of shipments from each carrier shows the tracking number on the channel order and the delivery note on the ERPNext side.

  7. Go live and monitor the first cycles

    The full catalog is enabled channel by channel, starting with the lowest-volume channel, and the team watches sync logs, failed jobs and stock variance reports daily through the first business cycles. DeployOpen hands over runbooks for replaying failed syncs, rotating credentials and rolling back a connector, along with alert thresholds agreed with your operations lead. Done means each channel has run a full order and payout cycle in production with no open critical exceptions, and the support owner has accepted the runbooks.

What buyers ask before hiring a partner for ERPNext ecommerce

What drives the cost of an ERPNext ecommerce implementation?

The main drivers are the number of sales channels, the SKU count and variant structure, how each channel's fees and tax rules are set up, and how much custom logic the brand needs. Each channel adds its own credentials, order mapping, stock sync and reconciliation work, and fee rules that differ by marketplace multiply the testing. Costs split into a one-time build (configuration, integration, data migration, testing and training) and recurring items such as hosting, Frappe Cloud support plans if you use them, and ongoing changes. Ask any partner to price each channel, the SKU load, and custom scripts or apps as separate line items so you can see what changes the number.

How long does an ERPNext marketplace integration take?

Duration depends on how many channels go live, how clean the product and stock data is at the start, and whether order flows (cancellations, returns, partial shipments) need special handling. Parallel channels usually take longer than a single store because each one has its own mapping and edge cases to verify before cutover. Plan a test period with sample orders across every channel before you switch live orders. Ask the partner to tie the timeline to named phases and acceptance tests in the written scope, not to a general estimate.

What must our team provide before an implementation starts?

Expect to supply API credentials or app authorizations for each channel, a clean product catalog with SKUs, variants, units and tax codes, and recent fee statements from each marketplace so fee rules can be matched to real charges. You will also need a description of your warehouses, bin layout and which locations hold sellable stock, plus your shipping carriers and label requirements. Name one person who can approve field mappings and one who owns payment gateway and bank details. Missing inputs are the most common cause of delayed testing, so ask the partner for a written input checklist before work begins.

Can an in-house team implement ERPNext ecommerce integrations alone?

Yes, a team with ERPNext functional knowledge and developer capacity can do it, and the open-source apps are available for self-implementation. The harder parts are usually the channel-specific mappings, fee and reconciliation logic, stock sync rules and testing across order states, not the installation itself. Be honest about whether you have someone who has worked with the channel APIs and with ERPNext accounting entries. Many brands run a hybrid model where the internal team owns business rules and a partner handles the integration build and testing.

Can we use Server Scripts on Frappe Cloud shared benches?

Not on public shared benches. Frappe's documentation states that Server Scripts run Python on document events or as API endpoints, and that from version 15 they are disabled by default and must be enabled with the server_script_enabled setting. Frappe Cloud public shared benches do not allow them, so custom order or fee logic would need a dedicated bench, a self-hosted deployment, or a custom app. Confirm the exact plan and bench type you are considering before you design the logic, because this choice changes how fee and order rules are built.

What does Frappe Cloud pricing tell us about hosting costs?

According to the ERPNext pricing page, self-hosting ERPNext is free, Frappe Cloud shared site hosting starts at 5 US dollars per month, Frappe Cloud servers start at 20 US dollars per month for shared instances, and dedicated servers start at 125 US dollars per month. Those are list starting points and do not include the integration build, testing, data migration or support work. Self-hosting shifts the cost to your infrastructure and operations staff. Check current pricing on the source before budgeting, since plans change.

What should a written scope for ERPNext ecommerce include?

A written scope should list each channel and the sync direction for orders, stock, prices, returns and fees, plus the payment gateways, shipping label provider and bank feeds in use. It should name the ERPNext version and hosting model, the data migration sources and record limits, the test cases and acceptance criteria, and what is excluded. Ask for the responsibilities of each party, the handover of credentials and documentation, the training plan, and what happens to changes requested after sign-off. Fixed scope with agreed deliverables and dates should be written before work starts.

Compliance and data points to plan for marketplace sellers

Selling across Shopify, Amazon and other marketplaces puts customer personal data, staff access and tax records into one back office. The four points below are where most sellers need decisions before go-live, not after the first audit request. DeployOpen prepares systems, controls and evidence for your review, but does not issue audit reports or certifications; your tax adviser and auditor set the actual obligations.

Customer data arriving from channels

Each channel sends buyer names, shipping addresses, contact details and order history into ERPNext through the connector. Map which fields are stored on customer and address records, which are only kept on the sales order, and which are never synced at all. Confirm with your privacy lead whether marketplace terms restrict how buyer data can be reused, because marketplace agreements often limit what a seller may keep and for what purpose. Document the flow so a data subject request can be traced across channels.

Staff access and sign-in

Orders, prices and payouts should be visible only to the roles that need them. ERPNext can sign staff in through LDAP against Active Directory or OpenLDAP, mapping directory groups to ERPNext roles at each login, or through Social Login Key providers and custom OIDC endpoints. Decide which identity source is authoritative, how leavers lose access, and whether two-factor authentication applies to finance roles. Test that a removed directory group actually removes ERPNext access.

Retention of order and tax records

Order, invoice, refund and tax records must be kept for the period your tax authority and auditor require, which varies by country and entity. ERPNext does not decide this for you. Confirm the retention period for each record type, decide whether personal fields are anonymized while financial totals are kept, and check that backups and archived sites follow the same rule. Ask your adviser how returns, chargebacks and marketplace settlements should be retained alongside invoices.

Questions for your tax adviser and auditor

Several design choices depend on rules that only your advisers can confirm: which sales tax or VAT treatment applies to marketplace orders, who is the invoicing entity for each channel, how fees and payouts are recorded, and what evidence of controls an auditor will request. Bring a written list of these questions to the design phase so the configuration reflects confirmed answers. Record each decision and its owner, since that record becomes part of the evidence you hand over.

When custom scripts and apps are needed for marketplace rules

Connector defaults handle the common path: orders, customers, item mapping and stock movements. Marketplace rules often go further. Commission and fee calculations that differ by channel, bundles that must be split into component stock movements, and returns that need a specific credit note or restock decision usually sit outside what a connector does out of the box. Before writing any code, list each rule, the document it affects and the owner who signs off on the outcome. That list tells you whether the work is configuration, a script or an app. The first decision is where the logic lives, because it determines who maintains it after go-live.

For small, well-contained rules, a Server Script is often enough. Server Scripts run Python on document events or as API endpoints. From version 15 they are disabled by default, so your team must set server_script_enabled in the site configuration on a self-hosted or dedicated bench before they can run. Frappe Cloud public shared benches do not allow Server Scripts at all, so confirm your hosting tier before you design around them. Scripts are fast to change, but they live in the database and are harder to version, review and move between environments than code in a repository. Once a rule touches several doctypes, needs its own tests or must be deployed across several sites, a custom app is the better home. It can be versioned in Git, reviewed like any other code, installed on each site with bench and upgraded alongside ERPNext.

Test custom logic on a staging site built from a recent copy of production data, with the same ERPNext version, apps and settings. Replay a representative set of orders for each marketplace, including fee changes, multi-line bundles, partial returns and cancellations, and compare the resulting invoices, stock ledger entries and payment entries with what your accountant expects. Confirm the connector and the custom logic produce no duplicate documents when an order is re-sent. Record the test cases and results so the next ERPNext upgrade can be checked against them. Ask any implementation partner to show this test set as part of the written scope.

Where to host the ecommerce ERPNext instance

Frappe Cloud is the hosted option run by Frappe, and it removes most server administration from your team. Shared and dedicated plans are priced separately, and the ERPNext pricing page lists shared site hosting from 5 US dollars per month, shared servers from 20 US dollars per month and dedicated servers from 125 US dollars per month. Those figures are list starting points, so confirm current plan terms before you budget. Your team still owns the business side of the platform.

  • Plan choice: Shared benches differ from dedicated servers in isolation and performance headroom, which matters during peak sales events.
  • Server Scripts: Public shared benches do not allow Server Scripts, so custom order logic may need a dedicated plan or a custom app.
  • Integration credentials: Your team manages Shopify, Amazon and payment keys inside ERPNext, and rotates them on schedule.
  • Support coverage: Frappe's supported versions policy ties warranty coverage to a listed version and a matching Frappe Cloud support plan.
  • Data residency: Confirm where backups are stored and who can restore them.

Before signing, ask for the written backup, restore and maintenance window terms for the plan you select.

How DeployOpen scopes and delivers an ERPNext ecommerce implementation

DeployOpen plans, implements, customizes, integrates, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For ERPNext on ecommerce and marketplace sellers, that means agreeing in writing which channels, warehouses, payment gateways and shipping flows are in scope before any connector is configured.

How we scope

  • Inventory every sales channel, its order volume, and which SKUs and warehouses each one draws stock from
  • Map how each marketplace order becomes a sales order, delivery note and invoice in ERPNext accounts
  • Record which payment gateways, fee accounts and shipping label providers feed the back office
  • Agree the written scope, deliverables and timeline with you before work starts, since most engagements are fixed-scope

How we build

  • Configure the ecommerce_integrations connectors for the channels in scope, such as Shopify, Unicommerce or Amazon
  • Test stock sync rules and order status mapping in a non-production site with representative order samples
  • Build any custom fields, scripts or apps needed for channel-specific fees, returns or tax handling, keeping customizations exportable
  • Verify reconciliation of settlements, refunds and marketplace fees against accounting entries before go-live

How we hand over

  • Document the connector configuration, mapping tables, scheduler jobs and the steps for re-running a failed sync
  • Deliver a runbook covering stock reconciliation, order exceptions, and how to add a new channel or warehouse
  • Walk your finance and operations staff through daily close tasks, reconciliation reports and error review
  • Hand over credentials, backup and restore procedures, and version upgrade notes for the environment you control

How we support

  • Offer ongoing support, upgrades and continuous testing as a retainer after go-live
  • Review ERPNext minor releases on the supported major version you run before applying them to production
  • Plan connector and marketplace API changes as part of retainer work, with testing before each change reaches live orders
  • Confirm with your team which support scope, response expectations and upgrade cadence fit your operation before signing

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.