ml-connector
TallyPrimeWalmart Marketplace

TallyPrime and Walmart Marketplace integration

TallyPrime stores your accounting records, inventory, and sales ledgers. Walmart Marketplace reaches millions of customers on Walmart.com. Connecting the two keeps your product catalog and inventory counts aligned across channels, and pulls orders and financial settlements back into TallyPrime without re-entry. ml-connector runs the polling cycle against TallyPrime's local HTTP server and bridges the OAuth authentication to Walmart, so your Tally instance and Marketplace listings stay synchronized on your schedule.

How TallyPrime works

TallyPrime is a desktop-first accounting and ERP system widely used in India and Southeast Asia. It exposes Ledgers, Groups, Vouchers (Purchase, Sales, Payment, Receipt, Purchase Order), and Stock Items through XML or JSON requests posted to a local HTTP endpoint on port 9000. There are no webhooks or change streams; ml-connector must poll TallyPrime by sending Export Data requests with date range filters and comparing returned record IDs against the last-seen state. The application is single-user and must be actively running with the target company open for API calls to succeed. Authentication is optional at the transport layer (network-level security is expected), but if the company is password-protected, username and password are required in the request envelope along with the company name.

How Walmart Marketplace works

Walmart Marketplace exposes Items (SKU, product name, category, price, images), Inventory (quantity across multiple ship nodes), Orders (purchase order ID, order date, line items with status, shipping info), Returns and Refunds (for non-WFS items, read and write), Pricing (current and comparison prices), and Reconciliation Reports (settlement amounts, payout dates, fees) through REST API endpoints. Authentication uses OAuth 2.0 client credentials exchanged for a 15-minute bearer token, but the actual API calls use a non-standard WM_SEC.ACCESS_TOKEN header instead of the Authorization header. Walmart Marketplace also supports webhook event notifications for orders, inventory, items, returns, reports, and performance events, with automatic retries at 5, 15, and 45-minute intervals before an event is dropped.

What moves between them

The primary flow is from TallyPrime to Walmart Marketplace. Stock Items and pricing from TallyPrime are polled and pushed as Items and Pricing updates to Walmart Marketplace on a schedule you set. Walmart Orders and Reconciliation Reports flow back into TallyPrime as new Sales and Receipt Vouchers, recording the order and settlement without re-entry. Returns initiated on Walmart (for non-WFS items) are pulled back and recorded as return vouchers in TallyPrime. The polling cycle runs at your chosen interval, since TallyPrime has no native event push; typical intervals are 5 to 15 minutes depending on your order volume and reconciliation needs.

How ml-connector handles it

ml-connector runs on a schedule and sends HTTP POST requests to TallyPrime's port 9000 local endpoint with Export Data envelopes containing date range filters to pull inventory and voucher changes since the last sync. It stores the returned record IDs locally to detect which items are new or modified. For each update, ml-connector then refreshes its Walmart OAuth token (reusing tokens within the 15-minute window to reduce overhead) and posts the item or price changes to the Walmart Marketplace API, using the WM_SEC.ACCESS_TOKEN header as Walmart requires. On the return path, ml-connector polls Walmart Orders and Reconciliation Reports endpoints and transforms them into TallyPrime Sales and Receipt Vouchers, mapping Walmart ship nodes to TallyPrime ledger groups and cost centers. Since TallyPrime is single-user and located on a LAN, ml-connector uses a local agent to bridge the cloud connector to port 9000 and ensures requests are sent sequentially to avoid inconsistent behavior. Duplicate import protection relies on comparing voucher ID and date in TallyPrime to prevent re-entry of the same order. All records carry a full audit trail and can be replayed if a downstream call fails.

A real-world example

A mid-sized e-commerce seller operates an independent inventory and accounting system on TallyPrime, running operations out of a small office in Southeast Asia. They list hundreds of SKUs on Walmart Marketplace but had been manually exporting inventory counts from TallyPrime every morning and uploading bulk pricing feeds to Walmart whenever costs or promotions changed. When orders arrived on Walmart, the team downloaded the order file, manually entered each line item into TallyPrime to trigger accounting and fulfillment, and then reconciled the Walmart settlement reports to bank deposits by hand. With TallyPrime and Walmart Marketplace connected, inventory counts from TallyPrime sync automatically to Walmart every hour, keeping stock levels accurate and preventing oversales. New orders appear as vouchers in TallyPrime within minutes, and settlement reports post directly as receipts, so the accounting team can focus on reconciliation rather than data entry and keying errors are eliminated.

What you can do

  • Poll inventory and pricing from TallyPrime Stock Items and sync them to Walmart Marketplace Items and Pricing on your schedule.
  • Pull Walmart orders and reconciliation reports and post them into TallyPrime as Sales and Receipt Vouchers with full GL coding.
  • Bridge TallyPrime's local HTTP port 9000 to Walmart Marketplace OAuth 2.0 authentication and token refresh.
  • Map Walmart ship nodes and customer records to TallyPrime Groups and Ledger accounts so orders land in the right cost center.
  • Track every polled and posted record with an audit trail and replay capability if a call fails.

Questions

Does TallyPrime need special setup to work with ml-connector?
Yes. TallyPrime's HTTP server on port 9000 is not enabled by default and must be manually activated in TallyPrime Settings under Advanced Configuration. The TallyPrime application must be running and the target company must be open for API calls to succeed. Since TallyPrime runs on Windows desktops, ml-connector uses a local agent on the same LAN to bridge HTTP requests to port 9000.
How does ml-connector handle the OAuth token expiry on Walmart's side?
Walmart Marketplace access tokens expire after 15 minutes. ml-connector refreshes the token only when a call returns an unauthorized error or when the cached token approaches expiry, so it minimizes the number of token requests. Each downstream API call to Walmart uses the WM_SEC.ACCESS_TOKEN header (not the standard Authorization header), as Walmart requires.
What happens if TallyPrime and Walmart are out of sync?
ml-connector tracks the last record ID and timestamp for each sync, so it only polls new or changed items since the previous run. If a downstream write to Walmart fails, the record is logged with full context so you can replay it manually or re-trigger the sync. Duplicate detection in TallyPrime prevents the same order from being entered twice if an order is pulled multiple times.

Related integrations

Connect TallyPrime and Walmart Marketplace

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started