Integrations inventory (E4)
Phase −1 deliverable. Everything that reads from or writes into a store besides the frontend and
the Content Manager. Fill this before any of it gets a design; the vault’s finding stands: nothing
about ERP, fulfilment or stock sync was found in the plugins, and StockManagement is
commented out in nf-platform.
Status values: UNVERIFIED (not yet confirmed with an owner), confirmed, retire, n/a.
| System | Direction | Today (plugin / mechanism / trigger) | Data | Owner | Target home in nf-commerce | Phase | Status |
|---|---|---|---|---|---|---|---|
| ERP | WP → ERP / ERP → WP | UNVERIFIED — no integration found in plugins | orders, customers, prices? | Fulfilment or none | UNVERIFIED | ||
| Fulfilment / WMS | WP → WMS / WMS → WP | UNVERIFIED — no integration found; cetro-orders receives Woo webhooks (dev mu-plugin cetro-local-webhooks.php) | orders, shipments, tracking | Fulfilment + outbox event | 3 | UNVERIFIED | |
| Stock sync | external → WP | UNVERIFIED — StockManagement (2,269 lines) disabled in nf-platform | stock levels | Catalog | UNVERIFIED | ||
| Product feeds (E1) | WP → files | seven plugins today (google-product-feed, facebook-catalog-xml-exporter, zbozi-cz-feed, google-reviews-xml-export, xml-reviews-export, landing-product-CSV-manager, third-party ceneje-datasource), five active on SI, WP cron writing to uploads/ | catalog, reviews | Marketing/Feeds, one generator, definition per network, system cron | 4 | UNVERIFIED | |
| Klaviyo (D2) | WP → Klaviyo, browser → Klaviyo | custom-klaviyo-full v2.9 active, custom-klaviyo-full-ch v1.4 one-market branch, hooks in nf-platform Cart/Module.php and Bundles/Cart/CartHooks.php | events, orders, profiles | reliable events server-side from Marketing/Klaviyo; browser behaviour through the consent-gated loader; two branches merge, difference = market config | 4 | UNVERIFIED | |
| Meta CAPI (D3) | WP → Meta, browser → Meta | facebook-cart-tracker v2.1.4 active; FacebookAttribution module disabled; nutris-pixel posts to a third party | purchase and funnel events | CAPI server-side from Marketing/Events; pixel consent-gated; nutris-pixel dropped | 4 | UNVERIFIED | |
| TrackDaddy | browser → tracker, WP → tracker | trackdaddy-tracker 2.0.4 active; reads cmplz_* cookies client- and server-side, binds _td_sid/_td_ses to orders from $_COOKIE on a Store API hook | session ids, consent, orders | data-plane: island sends consent/td_sid/td_ses in extensions.nf, plugin writes order meta, tracker envelope reads order meta; tracker npm split | 3 | confirmed (design) — implementation UNVERIFIED | |
| GTM / GA4 | browser | GTM4WP with nf-platform Analytics module filters (bundle child exclusion, price recompute, rounding) | dataLayer | frontend dataLayer from the island and pages | 3 | UNVERIFIED | |
| Reviews ingest | external → WP | DisneylandReviewIngest adds nf_disneyland_review_id to POST /wc/v3/products/reviews | reviews | Catalog/Reviews | 1 | UNVERIFIED | |
| Banned e-mail check | external → WP | POST /nutrisslim/v1/banned-email/check, bearer token | e-mail flag | Commerce (nf/v1) | 3 | UNVERIFIED | |
| Sentry | WP → Sentry | Sentry module in nf-platform; wp-sentry-integration inactive | errors | per store, Phase 3 alerts (outbox lag, failed webhook, stuck pending) | 3 | UNVERIFIED | |
| Transactional e-mail delivery | WP → SMTP | UNVERIFIED (post-smtp inactive on SI) | e-mails | default Woo e-mails Phase 3; locales Phase 4 (C13) | 3–4 | UNVERIFIED | |
| Media (G8) | WP → object storage | 25,394 attachments on SI; Imagify active; nf-remote-uploads.php mu-plugin proxies uploads locally | images | R2 / Cloudflare Images from day one; migrator copies once | −1 decision, 2 build | UNVERIFIED |
How to fill a row
- Name the owner (person or team) who can confirm the mechanism today.
- Read the plugin or config that does it; cite the file. Replace
UNVERIFIEDonly after reading. - Decide the target home: which
nf-commercedomain, which outbox event, which phase. - If the answer is “nothing exists”, write
n/a— an empty row is not an answer.
The row for ERP/fulfilment is the largest unknown in the whole programme and needs a conversation before it gets a design.