A build-to-order Frappe app that keeps your ERPNext catalog, prices, stock, and promotions in continuous sync with Facebook/Instagram Shops and TikTok's product catalog. ECOSIRE scopes, builds, installs, and supports it for your exact item model. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $299.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that keeps your ERPNext catalog, prices, stock, and promotions in continuous sync with Facebook/Instagram Shops and TikTok's product catalog. ECOSIRE scopes, builds, installs, and supports it for your exact item model.
ابھی کوئی ادائیگی نہیں۔ یہ ہماری ٹیم کو قیمت کی درخواست بھیجتا ہے — ہم قیمت اور اگلے اقدامات کے ساتھ ای میل کے ذریعے رابطہ کریں گے۔
If you run shopping ads on Meta or TikTok, your product catalog is your ad inventory — but ERPNext has no native concept of a Meta Commerce Manager feed or a TikTok catalog. Teams end up exporting a spreadsheet, hand-fixing GTINs and image URLs, uploading it to Commerce Manager, and doing it all again whenever a price drops or a variant sells out. The result is stale ads: rejected items, "out of stock" tags on things you can ship, and Dynamic Ads / Advantage+ campaigns pointed at products that no longer exist. ERPNext's Item, Item Price, and Bin DocTypes already hold the truth — what's missing is a reliable pipe that maps that truth into the exact schema Meta and TikTok expect and keeps it fresh without a human in the loop.
Dedicated `Social Catalog Channel` DocType per destination (Meta Commerce catalog, TikTok catalog, or both) with masked API credentials and per-channel field mapping
Full-feed generation to Meta Commerce Manager via the Graph/Marketing Catalog Batch API and to TikTok's Business catalog API
Incremental delta sync driven by `hooks.py` `doc_events` (`on_update` on `Item`, `Item Price`, and stock ledger changes) queued through `frappe.enqueue`
Scheduled full reconcile via `scheduler_events` (hourly/daily configurable) to catch anything a delta missed
`Social Catalog Item Map` resolving each ERPNext `Item`/variant to a channel `retailer_id`, GTIN/MPN, brand, and Google product category
Availability and inventory derived from `Bin` actual/projected qty against a per-channel stock buffer, so ads never oversell
ECOSIRE builds a proper Frappe app (installed on your bench, frappe/erpnext v15 or v16) that adds a Social Catalog Channel DocType per destination (a Meta Commerce catalog, a TikTok catalog, or both), plus a Social Catalog Item Map that resolves each ERPNext Item/variant to a channel product with its retailer_id, GTIN/MPN, brand, Google product category, and image set. A full feed is generated on demand and on a scheduler_events cron (typically hourly for a full reconcile), while incremental deltas fire from hooks.py doc_events — an on_update on Item, Item Price, and stock ledger changes queues a targeted push through frappe.enqueue so a price edit or a low-stock threshold reaches Commerce Manager and TikTok within minutes, not overnight. We push via the Marketing/Graph API (Catalog Batch endpoints) and the TikTok Business catalog API, store credentials in a masked Password field, and log every request/response, retry, and rejection in a Social Catalog Sync Log DocType so you can see exactly which SKU Meta refused and why.
Under the hood the connector handles the parts that break naive exports: variant_of templates map to variant groups with item_group_id, set/collection products are assembled from BOM or a configured grouping field, availability and inventory are derived from Bin actual/projected qty against a per-channel buffer, and multi-currency Item Price lists resolve to the right price/sale_price per catalog. A Promotion mapping emits sale price and effective-date windows so your ad creative reflects live campaigns. Everything is permission-scoped with a dedicated Role Profile, exposes whitelisted methods (@frappe.whitelist()) for a manual "resync now" client-script button on the Item form, and ships with a Frappe REST-friendly surface so your own automations can trigger a channel push. Field mappings, category taxonomies, and buffer rules are configuration, not hard-code — so your merchandisers adjust them without a developer.
Because this is build-to-order, we start from your real ERPNext instance rather than a generic template. A short scoping call confirms your item model (variants, sets, kits), which channels and catalogs you're feeding, your GTIN/brand data quality, and your currency/region matrix. We then build against a staging copy of your data, run UAT with your team pushing to a sandbox catalog, and only cut over to production catalogs once feeds validate clean. Typical delivery is 2-4 weeks from confirmed scope, and you receive the full source, a git repo, technical and user documentation, training, and a post-go-live support window — you own it, and it runs on your bench.
A DTC or retail brand running Meta Advantage+ / Dynamic Ads and TikTok shopping campaigns whose catalog lives in ERPNext and who needs prices, stock, and promotions to stay accurate across both ad platforms without manual re-uploads.
Owns catalog quality and ad feed health, tired of spreadsheet exports and rejected products, and wants a single source of truth in ERPNext that pushes clean feeds and surfaces per-SKU rejection reasons.
Responsible for the bench and integrations, wants a proper Frappe app with real DocTypes, hooks, scheduler events, whitelisted methods, and a git repo they can own and extend — not an opaque black box.
Manages Meta/TikTok catalogs on behalf of ERPNext-based merchants and needs a repeatable, well-documented connector they can deploy per client with configurable field and category mapping.
Buy the license on ecosire.com and download the ERPNext Meta & TikTok Catalog Connector app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install ERPNext Meta & TikTok Catalog Connector and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Delivery model | Build-to-order, built and installed for your exact item model in 2-4 weeks | Long in-house build competing with other priorities | Instant install but generic, one-size mapping | |
| Meta + TikTok coverage | Both channels, one `Social Catalog Channel` per destination | Whatever you scope and maintain yourself | Often Meta-only or one channel per app | |
| Sync freshness | Doc-event deltas within minutes + scheduled full reconcile | Depends on effort; often nightly cron only | Usually scheduled export, limited real-time | |
| Variants / sets / stock | Variant groups, BOM-based sets, `Bin`-derived buffered availability | Buildable but time-consuming to get right | Basic mapping, variants often flattened | |
| Rejection visibility | `Social Catalog Sync Log` with per-SKU reason, retries, responses | Only what you build in | Limited logs, often summary counts | |
| Ownership & extensibility | Full source + git repo handover, you own it | You own it but carry all build risk | Closed app, per-seat/subscription lock-in | |
| ERPNext fit | Proper Frappe app: DocTypes, hooks, whitelisted methods, Role Profile | Depends on your team's Frappe depth | Framework-native but generic assumptions | |
| Support | Post-go-live window + optional maintenance for API changes | Self-supported | Vendor SLA, varies by tier |
No. This is a build-to-order product. ECOSIRE scopes, builds, installs, and supports the connector against your specific ERPNext item model and channel setup. There is no instant download — you get source you own, built for your instance.
Typically 2-4 weeks from confirmed scope. After a short scoping call we build against a staging copy of your data, run UAT with your team, and cut over to production catalogs once feeds validate clean. Complex variant/set models or many channels can extend the timeline, which we confirm before starting.
Frappe/ERPNext v15 and v16 on your own bench. It feeds Meta Commerce Manager (Facebook and Instagram Shops via the Graph/Marketing Catalog Batch API) and TikTok's Business catalog API — one or both, with a separate `Social Catalog Channel` per destination.
Both. Incremental deltas fire from `hooks.py` doc events when an `Item`, `Item Price`, or stock level changes, queued via `frappe.enqueue` so changes reach the catalogs within minutes. A scheduled full reconcile (`scheduler_events`, configurable) runs on top to catch anything a delta missed.
Variants map from `variant_of` templates into channel variant groups; sets/kits assemble from BOM or a configured grouping field; availability is derived from `Bin` actual/projected qty against a per-channel buffer so ads don't oversell. All mappings are configuration you can adjust, not hard-coded logic.
Every build includes a post-go-live support window for bug fixes and sync-issue resolution. Because you receive the full source and git repo, your team can extend it, and ECOSIRE can quote ongoing maintenance or platform-API updates (Meta/TikTok change their catalog APIs periodically) as a separate arrangement.
We configure the integration using API credentials and catalog IDs you provide, stored in masked password fields in ERPNext. During UAT we push to a sandbox/test catalog. You keep full control of your Business Manager and TikTok assets; we never require ownership of your ad accounts.
A build-to-order Frappe app that keeps your ERPNext catalog, prices, stock, and promotions in continuous sync with Facebook/Instagram Shops and TikTok's product catalog. ECOSIRE scopes, builds, installs, and supports it for your exact item model.