# B2B Scope Matrix

:::info
**Shareable with BLACKROLL and project partners.** Maintained by 22Bits. Written 2026-10-16, updated after the kickoff 2026-10-21, after a call with Sen 2026-10-22 and after emails from Sen and Kristy 2026-10-23. Part of [Project: B2B Migration](https://wiki.22bits.de/doc/project-b2b-migration-fVcY2IIWti).

:::

What the deck, Jira and the other sources say about each part of the project, what the current systems already do, who builds it, and where the sources disagree. Decisions that come out of a row live in [B2B Decisions and Workshop Plan](https://wiki.22bits.de/doc/b2b-decisions-and-workshop-plan-b29gSFrr9D); questions are referenced by their number there.

**Status legend.** *Confirmed* = deck, Jira and at least one other source agree. *Assumed* = stated in one source only, nobody contradicts it. *Missing* = named in the deck or a decision document but no epic, no owner or no definition. *Contradicting* = two sources disagree. Notes from the 22Bits team after the kickoff are marked *Team note* with their date.

**Sources used in every row.** Deck = `B2B Project Kick off.pdf` (12 slides, sent by Kristy Fenton on 2026-10-16). Jira = board 6377, epics BLAC-6171 to BLAC-6192 (all created 2026-10-16 by Kristy Fenton, assignee Sen; at that date no child issues, no estimates, acceptance criteria still the template). MD = [Management Decision deck 2026-09-29](https://drive.google.com/file/d/1-uQWFPGQOeyoO7yPHl085z8mouwTT3Pd/view). Spike = [Shopify B2B Validation Spike](https://dept-nl.atlassian.net/wiki/spaces/Blackroll/pages/21317222509) (DEPT, 2026-07-13). Column "Current system" cites the repos under `Blackroll-AG` on GitHub by path.

**The estimate behind the gate on slide 9.** On 2026-10-16 the project team had no document with line items, hours, assumptions or exclusions for this project, and every epic had empty estimate fields. What exists: the MD deck (shared platform services via DEPT Platform Engineering, "Execute ADR-035, 043 and 060", waves CH → DE → NL, all three legacy shops decommissioned by 30 January 2027) and the STEERCO page of 2026-09-04 ("a simplified vanilla Shopify site on liquid infrastructure without overbuilding", [page](https://dept-nl.atlassian.net/wiki/spaces/Blackroll/pages/21480767532)). Kristy was asked for the basis of the estimate on 2026-10-19 (question 1). On 2026-10-23 she confirmed that there is no formal DEPT estimate; 22Bits asks Sandor Voordes about his sizing.

## Matrix: the 20 epics

| \#  | Item | Deck says (slide) | Jira says (key) | MD and spike cover | Current system already does (path) | Who builds | Status |
|-----|------|-------------------|-----------------|--------------------|------------------------------------|------------|--------|
| 1   | B2B platform architecture | New B2B Markets store in the BLACKROLL Plus organization on b2b.blackroll.com, native B2B (s5, s6) | [BLAC-6171](https://dept-nl.atlassian.net/browse/BLAC-6171): "Decision to avoid the complexity of a headless shop has been made. Default to native unless a must-have can't be met"; store, markets, domains, staff access; ADR aligned with ADR-035; done when signed off by Kristy and the store accepts test orders. Delivery 22Bits | MD: "Execute ADR-035"; Spike: greenfield Plus store, Horizon theme, Option A integration | Nothing. No store exists. b2b.blackroll.com today is the legacy Nuxt app on Vercel serving the old CH store (`blackroll.com` branch `staging`, `server/middleware/localeRedirect.js`, verified by curl 2026-10-16: `server: Vercel`, `x-powered-by: Nuxt`) | 22Bits (Rron per s7) | **Confirmed**: a new store with a Liquid theme, not headless (PL1). Native B2B or an app is open (PL7). Domain open: b2b.blackroll.com or pro.blackroll.com (PL2). *Team note 2026-10-19:* domain needs to be figured out |
| 2   | B2B customer accounts and migration | ">1,000 active dealers onboarded as companies in wave 1" (s3); "Dealers to companies, prices, dry runs" (s7 WS3); "Business & Tech decision on migrating Pros to the D2C Store as a verified customer segment OR to the new B2B store as one-person companies" (s5) | [BLAC-6172](https://dept-nl.atlassian.net/browse/BLAC-6172): migrate customers, logins, company assignments; de-duplicate dealers across shops; done when counts reconcile and a test group logs in. Delivery 22Bits | MD: wave 1 CH; Spike 2.6: Company = MyFactory customer number, Location = ERP delivery address; 31% of DE customers have several addresses | CH B2B customers are flagged `metafields.klaviyo.Business_Relationship = 'B2B'` in store `blackroll-switzerland` and `custom.b2b` in `blackroll-ag-prod` ([BLAC-5366](https://dept-nl.atlassian.net/browse/BLAC-5366), blocked); BLAC-5660 excluded them from the D2C import. ADR-060: 23,486 segment members, 1,029 ever ordered, 700 to 1,000 companies for wave 1. The Pro shop has about 6,800 B2B partners, not all active (kickoff) | 22Bits (Rron, QA per s7) | **Assumed**: source lists (CH segment, DE ERP customers) and de-duplication rules not defined; CH dealers have no ERP record (ADR-060 4.3). Working assumption: Pros move into the B2B store (S2). *Team note 2026-10-19:* a spike tests the import of Pro accounts as one-person companies; the owner of the tags and the mapping is unknown; if the ERP must stay in sync with Shopify accounts, the best migration path is old B2B store → ERP → gateway → Shopify (E3) |
| 3   | Customer segmentation and access control | "Native Shopify B2B: companies, catalogs" (s5); "Login apps, customer tags" are the legacy complexity (s4) | [BLAC-6173](https://dept-nl.atlassian.net/browse/BLAC-6173): map groups to catalogs and company permissions instead of tags (ADR-035); roles per contact; login protection for the whole shop. Delivery 22Bits | Spike 2.2: 40+ segments, `NO_*` restriction tags, 967 restricted customers in 33 combinations, top 6 cover 94% | DE legacy shop `pro.blackroll.com` (Shopify, verified by curl) uses tags, a login app and the `b2b-payment-options` payment customization function ("Hide Auf Rechnung if customer has no tag", `b2b-payment-options/README.md`) | 22Bits     | **Confirmed** (native catalogs), but the consolidation of the 33 restriction combinations is a business decision without an owner yet (P4) |
| 4   | B2B pricing and special conditions | "price lists, payment terms" (s5); "Gap analysis, then catalogs, prices, terms" (s7 WS2) | [BLAC-6174](https://dept-nl.atlassian.net/browse/BLAC-6174): EK tiers and CH price levels as price lists per catalog; customer-specific prices, volume pricing, quantity rules; "One source of truth for prices, synced from ERP". Delivery 22Bits | Spike 2.3: prices today live in the wholesale app's matrix, not in an ERP sync; Option A = seed from the app matrix by script, Option B = Xaidat publishes price lists (ADR-050) | The prices dealers pay come from the app Wholesale Pricing Discount B2B (WPD) on `pro.blackroll.com`: percentage rules per customer tag plus fixed prices per variant per tag, stored in Shopify metafields, checkout through the app's draft orders. Live theme in `Blackroll-AG/PROSHOP-Ger` (`snippets/wcp_*`). Details in [B2B ERP, Pricing and Architecture](https://wiki.22bits.de/doc/b2b-erp-pricing-and-architecture-3q14unmr2V). ADR-050 pricing engine targets 4 base price lists per country | 22Bits, ERP team for Option B | **Contradicting**: Jira wants ERP-synced prices on day one, the spike says Option A (prices maintained in Shopify) for the proof of concept and B only after the ERP team confirms. Working assumption: Option B if Xaidat can deliver (E1). *Team note 2026-10-22:* Sen confirmed that MyFactory sends no prices to Shopify today; they are maintained by hand. CH uses two price groups through discount codes. A new B2B price model ("B2B Direct Price") for the B2B shops and EDI is being worked out and will be maintained in the ERP (P1, P2). *Team note 2026-10-26:* decided in the B2B weekly: prices live only in Shopify for now, and price management moves into the integration with the new ERP later (P2). That settles the contradiction for this project |
| 5   | CH and BNL payment providers and checkout | "CembraPay carries 48% of CH B2B orders and won't install on a EUR store. Decide store currency and test CembraPay in sprint 1" (s10); gate "CembraPay tested" (s9) | [BLAC-6175](https://dept-nl.atlassian.net/browse/BLAC-6175): CH invoice payment in CHF, decide store currency; BNL provider to pick; native payment terms. Delivery 22Bits, Wave 1 "CH part" | ADR-060: CembraPay = 48% of B2B orders, about 20% of CH revenue; "selling with multiple business entities requires Shopify Payments" (ADR-001 s4) | Legacy CH store has CembraPay; `pudomap` and `blackroll-shopify-checkout` are `checkout.liquid` era and dead (checkout.liquid is unsupported) | 22Bits (Rron) | **Missing**: store currency undecided (PC1); the CembraPay question has had no recorded answer since the workshop of 2026-07-16; at the kickoff a workaround was mentioned and a breakout agreed (PC3). *Team note 2026-10-19:* we need the list of payment providers per country (PC2) |
| 6   | ERP integration and order processing | "ERP, PIM, CMS and FIEGE integrations" (s5); WS6 Integrations owner Kristy, 22Bits Philipp and Marc (s7); "MyFactory flows after a parallel run" (s8) | [BLAC-6176](https://dept-nl.atlassian.net/browse/BLAC-6176): integrate through the Xaidat gateway "so the ERP can move to SAP later"; order export, status and invoice back; monitoring on every flow. Delivery 22Bits | Spike 3: Option A (tags, small custom app) vs Option B (Xaidat publishes companies, catalogs, price lists); "Any change on the ERP or Xaidat side needs confirmation from the ERP team" | The gateway "synchronizes product data to all stores" (`blackroll.com/docs/architecture.md`); order ingestion into MyFactory via Xaidat is described in the spike (section 5), not in our repos; `fegApiBase` in `nuxt.config.js` is the customer gateway (FEG), a different system. ERP contacts: Holger Welzel, Teoman Lam | 22Bits for the Shopify side; Xaidat (vendor) for the gateway; "Supporting roles via DEPT or Xaidat" (s10). *Team note 2026-10-19:* Rron supports Xaidat | **Contradicting**: Jira assigns delivery to 22Bits alone; the gateway work is Xaidat's. At the kickoff Kristy said Xaidat takes on the gateway work. Working assumption: Option B (E1) |
| 7   | Product data, assortment and inventory | "PIM" shared service (s6) | [BLAC-6177](https://dept-nl.atlassian.net/browse/BLAC-6177): products from PIM, stock from ERP, ranges through catalogs, availability per market and fulfilment location. Delivery 22Bits | Spike: assortment restriction = catalog scope | The D2C store gets products via the gateway; Craft references Shopify products by handle (`content.blackroll.com/modules/shopifyhandlemodule`, `config/project/fields/shopifyHandle--*.yaml`) | 22Bits, Teoman Lam (PIM, ERP), Xaidat (gateway) | **Assumed**: whether the gateway can publish to a second store (expansion stores "don't share data by default", Shopify docs) is not written anywhere (question 8) |
| 8   | B2B checkout, VAT and shipping | "Markets, tax" (s7 WS1); FIEGE (s5, s7) | [BLAC-6178](https://dept-nl.atlassian.net/browse/BLAC-6178): VAT ID validation, reverse charge per company location; shipping profiles per market, FIEGE; minimum order values, PO numbers. Delivery 22Bits | Spike 6: VAT IDs live on company locations, VIES validation at onboarding via app or small service; checkout extensibility needed for PO number etc. (Plus only for the information, shipping and payment steps) | Nothing reusable; `blackroll-shopify-checkout` is `checkout.liquid` (sunset) | 22Bits (Rron) | **Assumed**: the FIEGE connection for the B2B store is not described anywhere beyond the word (PC6). *Team note 2026-10-19:* VAT validation is not native in Shopify, probably done at signup (CI5); the exact checkout requirements are needed (PC5) |
| 9   | Brand 2.0 theme and B2B storefront | "Native Shopify B2B" (s5); the only UI item in the deck | [BLAC-6179](https://dept-nl.atlassian.net/browse/BLAC-6179): Shopify theme in Brand 2.0, "Reuse design standards and components from the global platform", quick order, reorder, order history, invoices, "Theme, not headless". Delivery 22Bits | Spike 1: build on Horizon; its B2B blocks cover quick order | Brand 2.0 exists as Vue components, Tailwind tokens and Storybook in `blackroll.com/components/redesign/**` and Figma; nothing of it is Liquid. The 2023 `b2b-shopify-theme` repo (last commit 2023-04-25) is an early Online Store 2.0 theme for staging store `partner-stg-de` | 22Bits     | **Contradicting**: "reuse components from the global platform" is not possible across Vue and Liquid; it means re-implementing tokens and layouts in a Horizon theme. No designer is assigned. Working assumption: tokens and typography on Horizon's B2B blocks (T2), needs clearance. *Team note 2026-10-22:* the B2B team wants the store closer to the D2C look, with D2C content; the direction moves into workshop 0 (T2) |
| 10  | Multi-market, localization and translation | "one Shopify Markets store" (s3); CH first (s5) | [BLAC-6180](https://dept-nl.atlassian.net/browse/BLAC-6180): DE, EN, FR, NL for shop content, product information and system texts; currencies and price lists per market; translation workflow. Wave 1 "CH (DE/FR)". Delivery 22Bits | MD: waves CH → DE → NL | The D2C translation stack is Craft (`acclaro/translations`, `craft-multi-translator`, `modules/autotranslate`) and does not apply to a Liquid store; the Shopify side is Translate & Adapt or the Translations API | 22Bits, B2B editors (Sen) | **Assumed**: the translation tool and who translates are not named (T4). *Team note 2026-10-19:* it is probably the B2B content team |
| 11  | Shop content integration (Craft CMS) | "Craft CMS" listed as shared service for B2B (s6) and under Integrations for 22Bits (s7 WS6); "Legacy CMS" switched off (s5, s8) | [BLAC-6181](https://dept-nl.atlassian.net/browse/BLAC-6181): "Decided: native Shopify content features and content management in Shopify"; B2B vs D2C content ownership to clarify; "Sets when the legacy CMS can be switched off". Delivery BLACKROLL (Sen) | MD: "CMS" as DEPT shared service. ADR-006: "B2B has limited content" | Craft 5 (`content.blackroll.com`, 30 sections, 218 entry types, 288 fields) is headless for Nuxt only; market scoping via the `marketScope` entry type and `contentMarket` field; preview only renders through Nuxt. Nothing in Craft knows a B2B site. See [B2B Content and Design in a Liquid Store](https://wiki.22bits.de/doc/b2b-content-and-design-in-a-liquid-store-SOHXeET9QJ) | Sen (per Jira) | **Contradicting**: the deck puts Craft into the B2B integrations, Jira says content is managed natively in Shopify. Working assumption: native Shopify content editing, because Craft content needs a headless shop (T1); needs clearance, a deep dive was agreed at the kickoff. *Team note 2026-10-22:* Sen would like D2C content in the B2B store (T1) |
| 12  | CRM integration Pipedrive and Shopify | "Pipedrive, Klaviyo" under Integrations (s7 WS6) | [BLAC-6182](https://dept-nl.atlassian.net/browse/BLAC-6182): match Pipedrive organisations to Shopify companies; orders visible in Pipedrive. Delivery 22Bits | Spike 5: Pipedrive form is lead intake, manual approval, MyFactory, Xaidat creates the tagged customer | ADR-006 comment (Kristy): "Pipedrive is the leads management tool but it's not currently integrated to Shopify or ERP" | 22Bits, Xaidat | **Assumed**: no API design, no field mapping, no owner on the Pipedrive side. *Team note 2026-10-19:* the flow needs to be designed and decided (CI1) |
| 13  | CRM data exchange and synchronization | WS7 "CRM Refactor: Rebuild Pipedrive → Make → Klaviyo automation" owner Alexandra, 22Bits Philipp, Marc, Front Row (s7) | [BLAC-6183](https://dept-nl.atlassian.net/browse/BLAC-6183): sync Pipedrive, Shopify, ERP, B2B Klaviyo; B2B data stays out of Bloomreach (ADR-043); error queues, retries; "Delivered with Front Row for the Klaviyo side". Delivery 22Bits, Front Row | ADR-043 scenario 4; Spike 2.2: Klaviyo cannot read company metafields, attributes must be mirrored at customer level | Make.com is the current sync layer (Confluence B2B assessment); 22Bits has no code for it; n8n is the planned replacement (spike) | 22Bits, Front Row | **Contradicting**: the deck lists this as "Rebuild" under 22Bits; the workshop of 2026-07-16 says the integration platform (Make vs n8n) is under review and unowned (PL6). Klaviyo itself is open (CI6) |
| 14  | Lead-to-customer process Pipedrive to Shopify | WS7 (s7)          | [BLAC-6184](https://dept-nl.atlassian.net/browse/BLAC-6184): Pipedrive approval creates the Shopify company and ERP customer; replaces the Make and voucher automation behind the CH bridge; Klaviyo welcome. Delivery Front Row | ADR-060 4.1 step 3 describes the chain to replace | Legacy chain: Pipedrive phase change → Make → Klaviyo creates the customer and sends codes (ADR-060 1.2) | Front Row (Jira) vs Philipp, Marc and Front Row (deck) | **Contradicting** on owner; also "creates the ERP customer" needs Xaidat and the ERP team. *Team note 2026-10-22:* today's flow per Sen: landing page form, Pipedrive approval, Excel list, Customer Care enters the customer in MyFactory, Xaidat pushes the customer to Shopify, activation email; two to three days in total (CI1) |
| 15  | Migration and existing process continuity | "Waves, comms, redirects, legacy off" WS4 owner Sen and Sales Lead, 22Bits Philipp (s7); switch-off sequence (s8) | [BLAC-6185](https://dept-nl.atlassian.net/browse/BLAC-6185): order CH → DE → BNL; delta migration; dealer comms; legacy syncs (CembraPay, Xaidat webhook, price and stock) kept running until each wave. Delivery 22Bits | MD: waves CH → DE → NL; deck s8: wave 3 "Third Pro shop [Shop and its order to confirm today]" | ADR-060 4.2: the old CH store's pipes must stay alive until wave 1 | 22Bits, Sen, B2B sales | **Confirmed** after the kickoff: the three shops are the CH store, the Pro DE store and the Pro BNL store (an English-language store with daily orders), so BNL is a migration, not a market launch. Order per S3. *Team note 2026-10-19:* CH store, Pro DE store, Pro BNL store |
| 16  | Testing, go-live and legacy decommissioning | "Legacy shops, legacy CMS and the CH voucher bridge switched off" (s5); "Legacy CMS: off once no live legacy shop reads from it" (s8) | [BLAC-6186](https://dept-nl.atlassian.net/browse/BLAC-6186): end-to-end test plan; redirects, hypercare, rollback; archive data, cancel apps and contracts; "all legacy shops and the legacy CMS are closed". Delivery 22Bits | MD: "Decommission all 3 legacy shops by 30 January 2027"; "Net annual saving" table | The "legacy CMS" is the old Craft deployment (`content.blackroll.com` branch `main`, Craft 5.8.22, last merge 2026-04-07), still read by the legacy Nuxt on Vercel; the Cloudflare router names it `LEGACY_CMS_ORIGIN` (`blackroll-web-infrastructure/modules/environment/files/proxy-router.js:36`, "TODO(BLAC-3340): Remove this legacy fallback block after legacy shutdown"). D2C side has its own epic [BLAC-6012](https://dept-nl.atlassian.net/browse/BLAC-6012) with 4 CMS cleanup children | 22Bits     | **Confirmed** (2026-10-16): all D2C markets run on the new instance and the new CMS, so the legacy CMS can go off as soon as the CH B2B wave is live; the `LEGACY_MARKET_PATHS` in `proxy-router.js:41` are leftovers to remove in the same change. BLAC-6012 and BLAC-6186 both touch it, so the two owners need one switch-off date (M3) |
| 17  | GA4 tracking | WS5 owner Julia, 22Bits Philipp and Marc (s7); "GA4 tracking" (s5) | [BLAC-6187](https://dept-nl.atlassian.net/browse/BLAC-6187): tracking plan with Julia's analytics team; ecommerce events plus B2B dimensions; consent mode; GA4 revenue matches Shopify within tolerance before wave 1. Delivery 22Bits | ADR-030 GA4 account approach, ADR-037 web tracking (draft) | D2C GTM and consent live in Nuxt (`server/plugins/inject-consent-head.js`, OneTrust); none of it is Liquid. A Liquid store uses Shopify's customer events and web pixels | 22Bits, Julia Schopka | **Assumed**: Julia is now on the project team. At the kickoff Kristy widened this to an analytics and forecasting workstream (T5). *Team note 2026-10-19:* to be done after the Liquid decision, with tracking defined before theme work |
| 18  | B2B Martech in Klaviyo | WS7 (s7)          | [BLAC-6188](https://dept-nl.atlassian.net/browse/BLAC-6188): Klaviyo Markets sync; flows; one template per flow localized; separate sign-up forms per market (ADR-043). Delivery Front Row | ADR-043 scenario 4 | Craft newsletter forms go to Bloomreach via Formie (`content.blackroll.com/modules/bloomreach`, BLAC-1899); B2B forms are not in Craft | Front Row  | **Confirmed** for Front Row; 22Bits role zero per Jira, "Philipp, Marc, Front Row" per deck. Whether Klaviyo stays is open (CI6) |
| 19  | Shared services handover to DEPT | "DEPT shared services run it" (s3); WS8 owner Kristy, 22Bits Philipp (s7); phase 5 (s9) | [BLAC-6189](https://dept-nl.atlassian.net/browse/BLAC-6189): topic list, docs and access for every system; final handover meetings with the Web & Foundations team; runbooks incl. Cloudflare and Datadog; done when DEPT handles first incidents alone. Delivery 22Bits, DEPT | MD: DEPT Platform Engineering shared services; handover plan 15 December, handover 29 January | Cloudflare worker and Terraform (`blackroll-web-infrastructure`) and Datadog in Nuxt (`datadog-init.js`) are D2C assets; a Liquid store needs neither (Shopify: "Point your storefront domain straight at Shopify instead of routing requests through a CDN, a web application firewall, or custom middleware") | 22Bits, DEPT | **Contradicting**: the runbook content assumes D2C infrastructure for a store that will not use it; no DEPT person is named as receiver (PL5, question 7) |
| 20  | B2B dealer login, access and account management | "Login apps" legacy (s4) | [BLAC-6192](https://dept-nl.atlassian.net/browse/BLAC-6192) (created after the other 19): decide Shopify one-time code vs BLACKROLL ID via own IdP; no passwords migrated; company admins manage contacts; customer service orders on behalf; account request form approved in Pipedrive. No delivery field | Spike 2.1: new customer accounts support an external OIDC IdP per store, "one BlackRoll identity across B2C and B2B"; proof of concept item 5 | The OIDC IdP exists in Nuxt (`blackroll.com/server/routes/oidc/*`, `server/routes/customer-account-api/*`, BLAC-2839, BLAC-3203), maintained by 22Bits; it would have to be registered on a second store | unclear    | **Missing**: no owner; the identity choice decides whether DEPT inherits an OIDC service it does not know (CI2) |

## Matrix: deck and Management Decision items without an epic

| \#  | Item | Deck says (slide) | Jira | MD and spike cover | Current system | Who | Status |
|-----|------|-------------------|------|--------------------|----------------|-----|--------|
| 21  | Budget | "budget ... confirmed" (s9), "inside the budget cap" and "Steering decides budget" (s11); no figure in the kickoff deck | none | MD: a budget cap over 4 months, reported monthly against plan; anything above the cap goes to the steering committee | n/a            | Steering | **Missing**: no estimate exists yet that the budget can be measured against (question 1) |
| 22  | "DEPT estimate" gate | "Gate: scope and DEPT estimate signed off" (s9) | none | no document found (see the note above the matrix) | n/a            | unclear | **Missing** (question 1). *Team note 2026-10-22:* Sen does not know of a DEPT estimate either; the epics were written from the B2B requirements list of the discovery in December 2025. *Team note 2026-10-23:* Kristy confirmed there is no formal DEPT estimate. The approach is documented in the ADRs, the sizing assumed one trimester of work, and Sandor Voordes led the scoping (question 1) |
| 23  | Team | "22Bits" column s7; "Rron - Shopify Lead" | 16 epics name 22Bits as delivery (14 alone, 6183 with Front Row, 6189 with DEPT); 6181 is Sen, 6184 and 6188 are Front Row, 6192 has no delivery field | MD: engineering via 22Bits | n/a            | 22Bits | **Assumed**: what fits the 22Bits team's capacity by 31 January is set in S1 |
| 24  | Pros decision | "Business & Tech decision on migrating Pros to the D2C Store as a verified customer segment OR to the new B2B store as one-person companies" (s5); "Pro Community Migration (requires decision)" not in phase | none | ADR-035: Pro Community is PRIO 2 and "a B2C-platform concern" | D2C already carries a `b2b` audience flag from `custom.b2b` (`blackroll.com/utils/audience.js:15`) and loyalty exclusion ([BLAC-5149](https://dept-nl.atlassian.net/browse/BLAC-5149)); the "verified customer segment" path is half built | Sen, Kristy | **Assumed**: Pros move into the B2B store (S2). The decision changes the wave 1 cohort (23,486 segment members vs 700 to 1,000 true dealers in CH, about 6,800 B2B partners in the Pro shop). *Team note 2026-10-22:* the CH store's B2B customers are mostly physios; Robert's long-term idea is a Pro community on D2C with a licence upload (S2) |
| 25  | Third legacy shop | "WAVE 3: Third Pro shop [Shop and its order to confirm today]" (s8); "Three legacy B2B shops" (s1) | BLAC-6185 says BNL | MD: "retires our three legacy shops", waves CH → DE → NL | CH = legacy Nuxt on Vercel (`b2b.blackroll.com/ch-de`, live since 2026-09-18) in front of store `blackroll-switzerland` with voucher codes; DE = `pro.blackroll.com` = store `blackroll-proshop-ger.myshopify.com` (verified in page source 2026-10-16), with EK tiers and MyFactory; BNL = Pro BNL store, English-language, daily orders. Repo `Blackroll-AG/blackroll-b2b.myshopify.com` (theme of a store `blackroll-b2b`, last commit 2020-08-10) is probably the unused store found while checking | Sen | **Confirmed** after the kickoff: CH store, Pro DE store, Pro BNL store. Order per S3 |
| 26  | CH voucher bridge switch-off | "CH voucher bridge switched off" (s5); "CHF 70k per sale season" (s4) | part of BLAC-6185 and 6186 | ADR-060: bridge on the new D2C store, time-boxed, dismantled at CH wave 1 | Bridge components: segment, two code families, Flow order tagging, Pipedrive, Make and Klaviyo chain on store `blackroll-ag-prod` (ADR-060 4.1); BLAC-5366 (mapping the B2B flag) is still blocked | Sen, Front Row | **Assumed**: whether the bridge was built on the new store is unverified (question 10) |
| 27  | b2b.blackroll.com domain reuse | "on b2b.blackroll.com" (s5, s6) | BLAC-6171 | n/a                | The host is live on Vercel for the legacy CH shop; SEO bug [BLAC-5819](https://dept-nl.atlassian.net/browse/BLAC-5819) (open, priority High) says it is indexed and leaks canonicals to blackroll.com | 22Bits | **Contradicting**: at the kickoff Sen suggested keeping pro.blackroll.com instead (PL2) |
| 28  | Access | "Engineering team blocked without specific accesses: Shopify Plus, legacy shop, GA4, PIM and CMS. Collect the list and aim to provide access in 1 week. Owner: Kristy & Sen" (s10, s12) | none | n/a                | 22Bits has Craft, Nuxt, GCP and D2C Shopify access, and admin access to the Shopify stores including `pro.blackroll.com` and its wholesale app (2026-10-17). Still missing: Pipedrive, Klaviyo B2B, MyFactory, Xaidat; Plus organization admin not confirmed | Kristy, Sen | **Missing** for CRM, ERP and gateway access (question 24) |
| 29  | Supporting roles via DEPT or Xaidat | "Identify support required ... not provided by 22bits early within the first couple of weeks ... Owner: Kristy" (s10) | none | MD: shared services via DEPT Platform Engineering | DEPT roles on Team 01 per Confluence Team & Resources: Mark Smits, Niels Louwes, Armin Delalic (frontend), Zoran Jakjimoski (QA); the Shopify expert who wrote the spike is marked non-active | Kristy | **Missing**: at the kickoff Kristy asked whether the team needs a QA engineer (S6) |
| 30  | Sponsor and steering | "Decide: Sponsor and steering members" (s12); steering "Alec, Martin, Sen, Kristy, 22bits" (s11) | none | MD: "B2B representative to join our monthly steering committee"; "Commitment required from management" | n/a            | Kristy | **Missing** (S5) |
| 31  | Wave 1 date vs B2B sales calendar | "Decide: Wave 1 date against the B2B sales calendar" (s12); "Gate: CH go/no-go, before next sale window" (s9) | none | ADR-060 4.3: "wave 1 should land before the next major sale window" | n/a            | Sen, B2B sales | **Missing**: the sale calendar is not in any source (S4, question 11) |
| 32  | Infrastructure for the B2B store | "Infrastructure: Cloudflare edge & security, Datadog monitoring" (s6); runbooks incl. Cloudflare and Datadog (BLAC-6189) | BLAC-6189 | MD: "infra ... via DEPT Platform Engineering" | Cloudflare worker, Terraform and Datadog are D2C and Nuxt assets; Shopify advises against proxies in front of a Liquid store | DEPT DevOps | **Contradicting** (PL5) |
| 33  | Weekly ops, monthly steering, Jira, Confluence, decision log | s11, s12          | board 6377 exists; no decision log page for B2B found in Confluence | n/a                | The ADR register exists in Confluence; [B2B Decisions and Workshop Plan](https://wiki.22bits.de/doc/b2b-decisions-and-workshop-plan-b29gSFrr9D) is the working log | Kristy | **Assumed** (question 23). *Team note 2026-10-22:* the B2B team works in Asana, not Jira |
| 34  | Out of phase: Retail EDI | "Not in this phase" (s5) | none | ADR-035 PRIO 3; Spike 6: "Out of scope for the Shopify track" | n/a            | n/a | **Confirmed** excluded; at the kickoff Martin and Sen confirmed EDI connections run as a separate key result |
| 35  | Out of phase: one shared B2B and B2C sign-up form | "Not in this phase (ADR-043)" (s5) | BLAC-6188 keeps separate forms | ADR-043 scenario 4 | Formie forms in Craft are B2C only | n/a | **Confirmed** excluded |
| 36  | Out of phase: Bloomreach for B2B | "Not in this phase" (s5) | BLAC-6183 "B2B data stays out of Bloomreach" | ADR-043            | `modules/bloomreach` is B2C | n/a | **Confirmed** excluded |

Count: 20 epic rows plus 16 rows for deck or Management Decision items without an epic = 36 rows. Every line of the Management Decision deck (budget cap, team, ADRs, waves, decommission date) appears in rows 21, 23, 1, 15 and 16.

---

**Documents**

- [Workshop 0: Steering Pre-read (28 Oct)](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/workshop-0-steering-pre-read-28-oct-JhVrYRXijD)
- [B2B Customer Groups](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/b2b-customer-groups-gEqCKsjdkf)
- [B2B Decisions and Workshop Plan](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/b2b-decisions-and-workshop-plan-b29gSFrr9D)
- [B2B Scope Matrix](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/b2b-scope-matrix-ZZotcIoK84)
- [B2B ERP, Pricing and Architecture](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/b2b-erp-pricing-and-architecture-3q14unmr2V)
- [B2B Content and Design in a Liquid Store](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/b2b-content-and-design-in-a-liquid-store-SOHXeET9QJ)
- [B2B Risks and Dependencies](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/b2b-risks-and-dependencies-rlQ4rP4ukg)
- [Epic Questions](https://wiki.22bits.de/s/6cf1c07b-6734-40db-a1e8-8542d7f0474c/doc/epic-questions-AOKIT9yuYL)