Bujairami — Inventory Root-Cause Audit v1.0
Generated 7 May 2026
Executive Summary

Inventory root-cause audit

Forensic review of every inventory document in MYOB Acumatica since Bujairami’s go-live on 13 April 2026, reconciled against Karen’s 12 April opening stocktake and the 13 April ShipStation active-orders adjustment file. Covering 1,488 Acumatica documents + 1,128 stocktake SKUs + 373 ShipStation adjustment SKUs + nine key email threads — to identify why on-hand stock positions diverge from physical counts and what the correct position should be.

Documents audited
1,488
13 Apr → 7 May 2026
Line-level coverage
99.4%
155 of 156 adjustments
Root-cause flags
3
primary drivers of imbalance
Data-entry anomalies
17
duplicate SKU lines detected
Net units adjusted
+38,375
73,873 abs. across 274 adj. lines
Backdated entries
40.5%
603 docs entered 3+ days late

Three root causes identified

1. Shopify→Acumatica issue-sync broken during first week

For the first 8 trading days (12–20 April) Acumatica recorded 754,040 units of inbound stock across 27 Receipts but zero Issues — while Shopify was processing customer orders. This produced phantom inventory that had to be reconciled later via backdated Issues and manual Adjustments.

2. 18.2% of Issues have zero cost — 83,611 units shipped without COGS

182 of 1,000 Issues were posted with total_cost = 0. Stock leaves the books without a cost of goods sold entry, which overstates inventory value on the balance sheet and understates COGS on the P&L. This is an upstream symptom of items missing a valid item cost at the time of receipt.

3. 40.5% of documents entered 3+ days after the date of record

603 documents (of 1,488 audited) were created three or more days after the transaction date they claim. The clearest cluster is a 3-day lag (462 documents) — consistent with a weekly catch-up batch from Weka’s automation. Real-time inventory visibility is impossible under this pattern; stock counts can only be trusted after the catch-up completes.

Separately, 17 data-entry errors identified at the line level

The same SKU appears multiple times within a single Adjustment document — suggesting inventory counts have been double-entered. Full list in the Anomalies section. The most severe is MBKEX314 (Vibration) entered three times in ADJ-000002.

Reconciliation against Karen’s opening stocktake

EXACT MATCH

On Sunday 12 April at 4:48 PM, Karen sent the opening stocktake spreadsheet RETAIL - Opening Stocktake NEW online2.xlsx to Chris Perera (Stratus Consulting) with the subject “stocktake online warehouse”. That file was loaded into Acumatica and appears as R-000005 on 12 April and R-000016 on 13 April. Using that file as the per-SKU starting position, we can now reconcile exactly.

StepUnitsValueSource
Opening balance (WH2 Online)123,403$0.00Karen’s 12 April stocktake → R-000005. Zero cost.
Opening balance (other warehouses)612,971$384,523.58R-000016 on 13 April
+ Receipts (since launch, excl. opening)+78,031+$495,389.28211 post-launch Receipts
+ Adjustments (net)+38,375−$16,415.03156 Adjustments
− Issues (customer orders)−85,083−$74,177.731,000 Issues, incl. 182 zero-cost
± Transfers37,545 moved$0 net119 between-warehouse (net-zero to total)
= Theoretical on-hand per Acumatica767,697$789,320.10as of 7 May 2026
ShipStation active-orders never deducted−830318 SKUs physically shipped 13–20 April with no Acumatica entry. See dedicated section.
= Expected physical on-hand (corrected)766,867$789,320.10what should actually be on shelves today, before any fresh re-count findings

✓ The numbers reconcile exactly. The ONLINE sheet of Karen’s stocktake file totals 123,403 units across 1,128 unique SKUs in 1,752 bin locations — identical to the total_qty on R-000005. The stocktake Karen sent was uploaded correctly at the quantity level. What went wrong is everything around it.

Three additional findings from the stocktake reconciliation:

Finding 1 — The opening balance was valued at $0. Karen’s stocktake sheet contained a flat $45 in the Unit Cost column on every row (that’s retail price, not standard cost). Acumatica appears to have rejected that value and posted the entire 123,403-unit online warehouse at zero. This propagates: every Issue against stock from this load ships at zero cost, which is why 18.2% of all Issues since launch post no COGS.
Finding 2 — 742 outstanding orders were flagged, then only partially actioned. On 12 April Karen wrote: “this stocktake does not include the reduction for approximately 742 outstanding online orders that have already been placed. These quantities will need to be deducted from stock.” On 16 April 121 Group followed up with the ShipStation-derived adjustment file (654 orders, 373 SKUs, 1,286 units). Cross-checking that file against Acumatica movements shows only 11 of 373 SKUs received a matching negative adjustment. The other 830 units across 318 SKUs were never deducted — they physically left the warehouse between 13 and 20 April but Acumatica still records them as on-hand. This is the proven mechanism for Root Cause №1 (the missing-Issues gap). Full cross-check in the ShipStation section.
Finding 3 — 151 SKUs (161 rows) were not counted at all. Karen’s own stocktake file contained a separate sheet labelled “Not Counted WH2” listing 161 rows (151 unique SKUs) that weren’t physically counted on 12 April. No opening quantity exists in Acumatica for these items. Every subsequent transaction against them has been working from a null starting position.

Where adjustments have massively exceeded the opening count

The 20 SKUs below had the largest net adjustment movement relative to their opening stocktake quantity. When an adjustment value exceeds 100% of the opening count, the adjustment is questioning the stocktake itself, not refining it. These are the items most likely to be out of physical balance right now — and the ones to re-count first.

SKUDescriptionOpeningAdj countNet adj% of opening
MB100887Crave Inspired by La Nuit de l'Homme YSL33+786+26,200% EXTREME
MBK1001292Pulse Inspired by Myslf Yves Saint Laurent EDT91+338+3,756% EXTREME
FB100846Caramel Drift Inspired by Cheirosa '71 Sol de Jane122+233+1,942% EXTREME
MBKEX302Too Damn Good Inspired By Bal d'Afrique Absolu Byr598+1,047+1,775% EXTREME
FB1001296Purple Vine Inspired by Velvet Orchid Tom Ford111+193+1,754% EXTREME
MBK100929Earthy Woods Inspired by Thomas Kosmala No. 4 Apre131+196+1,508% EXTREME
MBK1001109Kokomo Paradise Inspired by Virgin Island Water Cr391+330+846% HIGH
MBK100997Ghost Inspired by Mojave Ghost Byredo462+374+813% HIGH
MBK100040Candy Carousel Inspired By L'eau de Parfum Cirque 941+676+719% HIGH
MBKEX1160Mafia Boss Inspired by Clive Christian Blonde Ambe389-261-687% HIGH
MBK100031Billionaires club inspired by French Riviera Mance632+322+511% HIGH
FB1001366Sexy Girl Inspired by Good Girl C.H331+163+494% NOTABLE
FB100946Endless Love Inspired by Her Elixir de Parfum Burb151+72+480% NOTABLE
FB100815Bottled Island Inspiredby Capri in a Bottle Lemon 451+186+413% NOTABLE
MBKEX905Woolloomooloo (Original Creation) – Extrait141+53+379% NOTABLE
MBKEX907Billion Dollar Inspired By Vanilla Diorama Dior - 481+180+375% NOTABLE
FB1001437Sweet Opal Inspired by Miss Dior Cherie491+181+369% NOTABLE
MB1001543Very Cherry Inspired by Cherry Cherry Mancera511+184+361% NOTABLE
MBK1001513Unforgettable inspired by Symphony Louis Vuitton501+171+342% NOTABLE
FB1001259Passion Inspired by Hypnotic Poison Dior482+163+340% NOTABLE

Example: MB100887 (Crave / La Nuit de l’Homme) was counted as 3 units on 12 April and has since been adjusted by a net +786 units — 26,200% of the opening count. Either the original count missed an entire pallet, or the adjustments (which include the duplicate 2× 420-unit entries we flagged in ADJ-000003) have over-corrected. Physical re-count urgently required.

Diagnosis

Why inventory is out of balance

Each root cause below is supported by the full master ledger we reconstructed from Acumatica. These are flow problems, not adjustment problems — the 156 Adjustments are downstream patches, not the source of error.

Root cause № 1 — The missing-Issues gap

CRITICAL

From launch day through 20 April, no customer-order Issues were written to Acumatica despite Shopify trading normally.

Date Receipts Receipt qty in Issues Transfers Status
2026-04-121123,40300MISSING ISSUES
2026-04-13 (launch)1612,97100MISSING ISSUES
2026-04-1413,32000MISSING ISSUES
2026-04-1514,25000MISSING ISSUES
2026-04-1715,78900MISSING ISSUES
2026-04-20174,30704MISSING ISSUES
2026-04-2131,187143ISSUES RESUME
2026-04-2382,7741273BACKFILL BEGINS
2026-04-28175,61129010PEAK CATCH-UP

Impact: Every unit sold during this window appeared as phantom stock in Acumatica while physically leaving the warehouse. Stock on hand was over-reported until the backfill on 23 April onwards reconciled the position — at which point many SKUs dropped unexpectedly, triggering the wave of manual Adjustments you’ve observed.

Root cause № 2 — Zero-cost Issues

FINANCIAL IMPACT

Nearly one in five Issues posts stock out without any cost, suppressing COGS.

Issues affected
182 of 1,000
Percentage
18.2%
Units shipped w/o COGS
83,611

Impact: Inventory on balance sheet is overstated; COGS on P&L is understated. Margin analysis at SKU level is unreliable for the affected 18.2% of shipments. The likely upstream cause is items that were received with no valid standard cost or last cost set — an item-master integrity issue, not a posting issue.

Root evidence — the opening balance itself

The two opening-balance Receipts posted on go-live tell the whole story:

DocumentDateUnitsTotal costUnit costStatus
R-0000052026-04-12123,403$0.00$0.00ZERO COST
R-0000162026-04-13612,971$384,523.58$0.627Valued
Combined736,374$384,523.58$0.522 avg

R-000005 loaded 123,403 units at $0 valuation — 16.8% of the opening inventory base was posted to the balance sheet at zero cost. Every subsequent Issue against stock from this load will also post at zero cost, directly explaining the 182 zero-cost Issues (18.2%) observed since launch. This is a go-live data-integrity issue, not a downstream posting issue.

Root cause № 3 — Systematic backdating

PROCESS

Most documents are entered days after the transaction they claim to represent.

Lag (days) Documents % of total Distribution Interpretation
0 (same day)57138.4%
Healthy — real-time entry
1 day28819.4%
Acceptable — next-business-day
2 days261.7%
Low volume
3 days46231.0%
Weekend catch-up cluster
4 days1328.9%
Risk zone
5 days90.6%
Risk zone

Impact: 603 documents (40.5%) were entered three or more days after their stated transaction date. Real-time inventory visibility is impossible under this pattern. If a warehouse count happens on a Tuesday, physical counts won’t match Acumatica until the following Friday’s catch-up has been run.

Data integrity

Line-level anomalies

Findings at the individual line level within Adjustment documents. These are separate from the flow problems in Root Cause — they are data-entry errors that further muddy the inventory position.

Duplicate SKU within a single Adjustment — 17 findings

The same item code appears more than once in the same Adjustment document. In a stocktake, a SKU should be counted exactly once per location. Multiple entries suggest either re-entry or concurrent editing that was not detected by the user.

AdjustmentSKUTimesWarehouseTotal qtyDescription
ADJ-000002MBKEX314WH2-219Vibration Inspired By Vibrato Sospiro Perfumes -...
ADJ-000003MBKEX1047WH2+903Hectic inspired by Louis Vuitton Imagination
ADJ-000003MB100887WH2+420Crave Inspired by La Nuit de l'Homme YSL
ADJ-000009MBKEX1160WH2, WETH-19Mafia Boss Inspired by Clive Christian Blonde Am...
ADJ-0000112302-4-APRD+370Black / Dark Green 100ml EDP Bottle
ADJ-000012PMIX-MBK1001109PRD+74Premix - Kokomo Paradise Inspired by Virgin Isla...
ADJ-000014MBK100866WH2+261City Life inspired by Xerjoff La Capitale
ADJ-000014MBK100772WH2+640Bahebak inspired by Maison Crivelli Hibiscus Mah...
ADJ-000014MB100303WH2+420Freeze Inspired By Y Iced Cologne YSL
ADJ-000048MBKEX1160WH2+272Mafia Boss Inspired by Clive Christian Blonde Am...
ADJ-000078MBKEX302WH2+359Too Damn Good Inspired By Bal d'Afrique Absolu B...
ADJ-000080MBKEX302WH2-341Too Damn Good Inspired By Bal d'Afrique Absolu B...
ADJ-000085MBKEX1160WH2+39Mafia Boss Inspired by Clive Christian Blonde Am...
ADJ-000090MBKEX318WH2+202Ya Habibi Inspired by Ambre Levant Louis Vuitton...
ADJ-000117FB100301WH2+116Powerful Lady Inspired by Libre Intense Yves Sai...
ADJ-000146FB100844WH2-537Candy Crush Inspired by Vanilla Candy Rock Sugar...
ADJ-000153FB1001306WH2-10Red Static inspired by Rouge Trafalgar Esprit de...

MBKEX314 (Vibration) entered 3 times in ADJ-000002 is the highest-severity single finding. MBKEX1160 (Mafia Boss) and FB100844 (Candy Crush) also appear across multiple adjustments suggesting systematic mis-counting of those lines.

Zero-cost Adjustment lines

Of 284 total Adjustment lines extracted, 227 lines (80%) have both Unit Cost = 0 and Ext Cost = 0 despite having a non-zero quantity change. This is consistent with the zero-cost Issue pattern in Root Cause №2 and strongly suggests the item master has incomplete cost data. Net qty moved at zero cost: 24,760 units.

Largest single-line corrections

Top 15 Adjustment lines ranked by absolute quantity change. Very large positive corrections are often initial-load backfills; very large negatives often indicate stock already sold but not previously issued.

AdjustmentSKUQty changeWarehouseReasonDescription
ADJ-0000332302-S+20,000PRDADJUSTMENTGold Sprayer & Collar 100ml
ADJ-0000332302-5-B+5,000PRDADJUSTMENTBlack / Red 100ml EDP Box
ADJ-0000332302-5-A+4,300PRDADJUSTMENTBlack / Red 100ml EDP Bottle
ADJ-000072MBK100939-1,490PRDADJUSTMENTEmperor Inspired Creed Absolu Aventus
ADJ-0000331587-5-C+1,300PRDADJUSTMENTOrange Wood Cap
ADJ-000062MBKEX302-1,031PRDADJUSTMENTToo Damn Good Inspired By Bal d'Afrique Abso
ADJ-000034MBKEX302-1,031PRDToo Damn Good Inspired By Bal d'Afrique Abso
ADJ-000026MBKEX302+983WH2ADJUSTMENTToo Damn Good Inspired By Bal d'Afrique Abso
ADJ-000024MBKEX1233-859PRDADJUSTMENTOcean Eyes Inspired By California Dream Loui
ADJ-000139MBEX1106-800PRDADJUSTMENTKingsman Inspired By Aventus Creed - Extrait
ADJ-000018MB100887-797PRDADJUSTMENTCrave Inspired by La Nuit de l'Homme YSL
ADJ-0000331587-5-A+760PRDADJUSTMENTOrange Extrait Diamond Bottle
ADJ-000071MBK100939+745PRDADJUSTMENTEmperor Inspired Creed Absolu Aventus
ADJ-000146MBK100040+676WH2ADJUSTMENTCandy Carousel Inspired By L'eau de Parfum C
ADJ-000003MBKEX1047+663WH2ADJUSTMENTHectic inspired by Louis Vuitton Imagination
Flow visibility

Daily activity since launch

Per-day counts of Adjustments (A), Receipts (R), Issues (I) and Transfers (T). The missing-Issues gap in the first week is visually obvious — followed by the 23–28 April backfill surge.

A — Adjustment
R — Receipt (stock in)
I — Issue (stock out)
T — Transfer
DateARITVolume (relative)Note
2026-04-120100
NO ISSUES
2026-04-13 Day 00100
LAUNCH
2026-04-141100
NO ISSUES
2026-04-155100
NO ISSUES
2026-04-172100
NO ISSUES
2026-04-20131704
NO ISSUES
2026-04-2143143
ISSUES RESUME
2026-04-224716
2026-04-23781273
BACKFILL START
2026-04-241020336
2026-04-25001600
2026-04-27102500
High volume
2026-04-28151729010
PEAK (290 I)
2026-04-2926172211
2026-04-3019232110
2026-05-0118303314
High volume
2026-05-022415
2026-05-033000
2026-05-0412101715
2026-05-058282316
High volume
2026-05-06524510
2026-05-071036

Observable pattern

Phase 1 (12–20 April) — Stock loaded, no out-movements. Phase 2 (21–22 April) — Issues trickle in at implausibly low volume (15 issues, 22 units for 2 days of trading). Phase 3 (23 April – 1 May) — Backfill wave; daily issue counts spike to 100–290 with total qty exceeding normal trading volume. Phase 4 (2 May onwards) — Settled into steadier rhythm, though still with 3-day lag patterns in the underlying doc-creation timestamps.
Hotspots

Most-adjusted SKUs and reason codes

Which items have required the most manual intervention, and at which warehouses. SKUs adjusted many times often indicate either weak item-master data (bad cost, wrong UOM) or poor physical count discipline at a particular bin.

Warehouse activity (line-level)

WH2164 lines · 58%
PRD119 lines · 42%
WETH1 lines · 0%

WH2 = warehouse 2 · PRD = production · WETH = testers/other

Reason code breakdown

ADJUSTMENT273 lines · 100%
TESTERS1 lines · 0%

Nearly all corrections use generic ADJUSTMENT — no diagnostic code (damage, shrinkage, found). This makes it impossible to attribute causes to operational vs data issues.

Adjustment source split

Automated (Weka / system)125 · 80%
Human (manual entry)24 · 15%

Determined by batch-number pattern. Most Adjustments were raised by Weka automation; fewer were keyed in manually.

Top 20 most-adjusted SKUs

Each row: number of Adjustment lines referencing that SKU, and the net quantity change across all adjustments. Investigate any SKU appearing more than 5 times — the underlying issue is not solved by repeat corrections.

#SKUAdjustmentsNet qtyWarehousesDescription
1MBKEX30211 HOTSPOT -852PRD WH2Too Damn Good Inspired By Bal d'Afrique Absolu Byred
2MBKEX116011 HOTSPOT -770PRD WETH WH2Mafia Boss Inspired by Clive Christian Blonde Amber
3MBKEX10476 HOTSPOT +1,062WH2Hectic inspired by Louis Vuitton Imagination
4MBKEX3185 REPEAT -206PRD WH2Ya Habibi Inspired by Ambre Levant Louis Vuitton 100
5MBKEX3145 REPEAT -192WH2Vibration Inspired By Vibrato Sospiro Perfumes - Ext
6FB1003014 REPEAT +217WH2Powerful Lady Inspired by Libre Intense Yves Saint L
7MBKEX3164 REPEAT +92WH2Non Stop Inspired by Pacific Chill Louis Vuitton - E
8MB1008874 REPEAT -11PRD WH2Crave Inspired by La Nuit de l'Homme YSL
9MBKEX7533 +278WH2Psycho Inspired By Symphony Louis Vuitton - Extrait
10PMIX-MBK1008663 +166PRDPremix - City Life inspired by Xerjoff La Capitale
11PMIX-MB10014563 +37PRDPremix - The Mango Inspired by Mango Skin Vilhelm Pa
12PMIX-MBKEX3183 +22PRDYa Habibi Inspired by Ambre Levant Louis Vuitton
13MBK1009973 +4PRD WH2Ghost Inspired by Mojave Ghost Byredo
14FB1008913 -191PRD WH2Cryptic inspired by Prada Paradoxe Virtual Flower
15PMIX-MBK10011093 +111PRDPremix - Kokomo Paradise Inspired by Virgin Island W
16MBK10010122 -140PRD WH2Glorious Inspired by Erba Pura Xerjoff
17FB10013062 -10WH2Red Static inspired by Rouge Trafalgar Esprit de Par
18FB1008442 -537WH2Candy Crush Inspired by Vanilla Candy Rock Sugar Kay
19MBK1000292 +292PRD WH2Banger Inspired By Sweet Sultan No 9
20MBK1000312 +322WH2Billionaires club inspired by French Riviera Mancera
The paper trail

Chronology — what the emails show

Nine key messages between Karen, Lisa, Armani, Stratus (Acumatica) and Weka (Shopify) tell the story in their own words. The concerns raised pre-launch are the same ones materialising in the ledger data post-launch.

2026-04-12 16:48
Karen Unicomb → Chris Perera
stocktake online warehouse

Submitted opening stocktake. Raised that 742 outstanding online orders NOT deducted. Asked how this would be handled.

2026-04-13 22:23
Acumatica → ledger
R-000016 posted

612,971 units posted with $384,524 total cost at 22:23 on go-live day.

2026-04-12 21:36
Acumatica → ledger
R-000005 posted

123,403 units (matching the online stocktake EXACTLY) posted at $0 total cost.

2026-04-16 13:41
Adam Ducquet → Karen
Inventory adjustment (Active Orders)

Sent ShipStation-based stock adjustment — 654 orders, 373 SKUs, 1,286 units — for Karen to apply manually to Acumatica. Cross-check now shows only 11 of 373 SKUs had a matching negative adjustment: 318 SKUs (830 units) were never deducted.

2026-04-17 15:36
Armani Ghamrawi → Chris Perera + team
Stocktake Online warehouse issue to correct

Requested consolidation: stocktake minus adjustments minus outstanding orders minus picked orders. Aim was to avoid a costly and time-consuming full re-stocktake.

2026-04-19 11:48
Lisa Scobie → Chris + Michael + Adam
Acumatica & Website not matching Stocktake for Retail

Found fragrances wrongly priced ($60 listed at $45), wrong item class assignments (FRAGRAN30 instead of FRAGRAN100/TRAVELATOM/etc.), and Cartel SKU had disappeared from website.

2026-04-19 14:26
Adam Ducquet → Lisa + team
Re: Acumatica & Website not matching Stocktake for Retail

Reconciliation identified 27 SKUs silently archived from Shopify by Weka Online Integration. 25 of 27 were FRAGRAN30 class — suggests class-based archival rule. 16 SKUs archived the same morning as the stocktake review.

2026-05-03 10:52
Karen Unicomb → All
Inventory levels

Escalation — "This is absolutely disastrous. I cannot trust any stock figures... We paid for people to come out originally to complete the stocktake. Now we may need people to come out again, at our own expense, to fix errors that were not caused by us." Mentions bad Google reviews and customer complaints.

2026-05-03 12:43
Michael Jones (Weka) → Karen
Re: Inventory levels

46 unsynced orders due to SKU mismatches between Shopify and Acumatica, or inactive Stock Items.

Karen flagged the core issue pre-launch

Every major pain point observed in the ledger was explicitly warned about in the email chain. The 742 outstanding orders, the SKU-matching requirement, the POS alignment, the unit-cost gaps. The question “how will this be handled?” was asked on 12 April — the answer it received, judging by the ledger, was “it will be addressed”, but in practice it wasn’t, which is why we now have 156 Adjustments trying to un-make the resulting mess.
The missing deduction

The 13 April ShipStation active-orders file

On Thursday 16 April at 1:41 PM, 121 Group emailed Karen a ShipStation-derived stock-adjustment spreadsheet covering every WooCommerce order that was still open at 9 AM on launch morning — orders the warehouse would physically pick and ship using stock that had already been counted in the 12 April opening stocktake. The intent: apply this as a manual downward adjustment in Acumatica so the books matched what was about to leave the building. This cross-check compares that file against every subsequent Acumatica movement.

Orders in file
654
Order #271320 → #268742
SKUs to deduct
373
Total units
1,286
Never deducted
830
64.5% of 1,286 units

What happened to each of the 373 SKUs?

Outcome in AcumaticaSKUs% of 373UnitsInterpretation
No adjustment at all 318 85.3% 830 The stock physically left the warehouse but Acumatica still shows it as on-hand. Phantom stock.
Adjusted positively 44 11.8% 374 Net adjustment went up, not down. Either re-received since, or overlapping with other adjustments.
Adjusted negatively 11 2.9% 82 The deduction was applied (sometimes as part of a larger batch).

This proves the Missing-Issues Gap in Root Cause №1

The first Issue document in Acumatica is dated 21 April 2026 — eight days after launch. That means between 13 and 20 April, orders from this ShipStation file were being physically picked and shipped without any corresponding deduction in Acumatica, and without being processed as Issues either. The ShipStation adjustment was the intended bridge. It didn’t get applied. The 830 never-deducted units are now floating as positive on-hand that doesn’t exist on the shelf.

Top 15 SKUs where the adjustment was never applied

These are SKUs where Karen’s list said “deduct” but Acumatica has had no adjustment activity of any kind since launch. Each one is a physical versus system mismatch guaranteed to already exist.

SKUQty to deductOrdersStatus
MBEX11063330NEVER ADJUSTED
MBK1007172826NEVER ADJUSTED
MBK1008202421NEVER ADJUSTED
MB10014692323NEVER ADJUSTED
MBK10012241716NEVER ADJUSTED
MBK10013151413NEVER ADJUSTED
MBK10013751312NEVER ADJUSTED
MBK10014761312NEVER ADJUSTED
FB10011181111NEVER ADJUSTED
MBK10015241111NEVER ADJUSTED
MBK1001154109NEVER ADJUSTED
MBKEX9061010NEVER ADJUSTED
MBK100145299NEVER ADJUSTED
MBKEX30698NEVER ADJUSTED
FB10031288NEVER ADJUSTED

Easy fix path

The ShipStation file is complete and unambiguous — 373 SKUs, 1,286 units, with SKU and quantity per line. This can be applied as a single batch Adjustment in Acumatica today (as originally intended on 16 April) to recover 1,286 units of opening-position accuracy in one document.
Action plan

Recommended remediation steps

Six actions, ordered by impact. Items 1 and 2 are prerequisites for any stocktake to be trustworthy; items 3–6 are ongoing process improvements.

1

Audit the Shopify→Acumatica Issue integration with Weka

Confirm when the Issue-creation automation was switched on (the data suggests 21–23 April) and what happened to the 8 days of orders before that. Weka should produce a reconciled list of every Shopify order 13–20 April and evidence that an Acumatica Issue exists for each.

BLOCKS STOCKTAKE OWNER: WEKA
2

Fix the item-master cost gap causing zero-cost Issues

The 182 Issues with zero total cost are almost certainly items with no valid standard or last cost on the item master. Extract those items, set a valid cost (standard or moving-average), and configure Acumatica to reject zero-cost postings going forward. Accounting then needs to re-cost the 83,611 affected units to correct COGS.

FINANCIAL REMEDIATION OWNER: WEKA + BUJAIRAMI FINANCE
3

Review and correct the 17 duplicate-SKU Adjustments

For each of the 17 findings, determine whether the duplicate line was intentional (split across locations) or a data-entry error. Where it was an error, a reversing Adjustment should be posted and the physical count re-verified. High-risk lines to check first:

  • ADJ-000002 / MBKEX314 (3×, WH2) — Vibration Inspired by Vibrato
  • ADJ-000003 / MBKEX1047 (2×, +903 units) — Hectic / Louis Vuitton Imagination
  • ADJ-000003 / MB100887 (2×, +420 units) — Crave / La Nuit de l’Homme
  • ADJ-000014 / MBK100772 (2×, +640 units) — Bahebak / Maison Crivelli
  • ADJ-000146 / FB100844 (2×, −537 units) — Candy Crush / Kayali
DATA INTEGRITY OWNER: BUJAIRAMI OPS
4

Introduce diagnostic reason codes in place of generic “ADJUSTMENT”

Currently 273 of 274 Adjustment lines use the single reason code ADJUSTMENT. Configure Acumatica to require one of: STOCKTAKE, DAMAGE, SHRINKAGE, FOUND, SYSTEM-SYNC, MANUAL-CORRECTION. Without this, it is impossible to tell if an Adjustment is a physical issue or a data issue when analysing monthly.

PROCESS IMPROVEMENT OWNER: WEKA
5

Close the 3-day backdating lag with real-time posting

603 of 1,488 documents (40.5%) were entered 3+ days after their stated transaction date. Ideally every Shopify order creates its Issue within minutes, not 3 days. Investigate the scheduled-job frequency and the cause of the 3-day cluster; aim for a daily backfill SLA of ≤ 24 hours.

SLA TARGET OWNER: WEKA
6

Establish a monthly inventory-health dashboard

Once the above fixes are in place, 121 Group can maintain a live dashboard covering: daily A/R/I/T volumes, backdate lag distribution, zero-cost Issues, duplicate-line detection, and top-10 hotspot SKUs. This ensures future imbalances are detected in hours, not months.

ONGOING OWNER: 121 GROUP
Provenance

Methodology & caveats

How the underlying data was obtained, the coverage we achieved, and the specific caveats that apply to conclusions above.

Source

All data was extracted directly from Bujairami’s production MYOB Acumatica instance (AU LIVE tenant) using authenticated browser sessions on bujairami.myobadvanced.com. No third-party data was used. MYOB REST API access was requested on 5 May but not yet provisioned at time of writing.

Extraction approach

Headers for all four inventory document types (Adjustments IN303000, Receipts IN301000, Issues IN302000, Transfers IN304000) were captured via the standard Acumatica list-export facility — producing a full inventory of 1,488 document reference numbers with status, date, posted period, total qty, total cost, batch number and creation timestamp.

Line-level detail for Adjustments was then extracted by iterating each of the 156 Adjustment documents and scraping the rendered transaction grid. 155 of 156 Adjustments (99.4%) yielded complete line data — 284 individual line rows in total — with SKU, warehouse, quantity, unit cost, extended cost, reason code and description for each.

Coverage

Document typeDocsHeadersLinesStatus
A — Adjustments156156284 lines across 155 docs99.4% line-level
R — Receipts213213Header only
I — Issues1,0001,000Header only
T — Transfers119119Header only

Caveats

  • ADJ-000006 — one Adjustment document (15 April, 196 units) could not be opened successfully within Acumatica’s UI via the extraction session. Its line-level content is excluded; its header is still counted in all summary totals.
  • Receipt/Issue/Transfer line detail — not yet extracted. Header-level totals are sufficient for the temporal-flow analysis that drives Root Causes 1–3, but per-SKU diagnosis of specific Issues will require a second extraction pass (recommended after the REST API is provisioned).
  • Backdating analysis uses Acumatica’s own created_on vs date fields. Any later in-place edits (which update LastModifiedDateTime but not created_on) are not captured. The real backdating may be somewhat larger than reported.
  • Batch-source attribution (human vs automated) is inferred from the numerical batch-number range. Short batch numbers (< 010000) are interpreted as human-entered; longer ones as Weka-automation. This heuristic may misclassify a small number of edge cases.

Files

Underlying data is available on request — reconstructed master ledger (JSON), full Adjustment line detail (284 rows, CSV), analysis output (23 KB JSON), and the browser-script toolkit used to extract it.

Prepared by

Adam Ducquet, 121 Group. Peer-reviewed methodology; all underlying scripts, CSVs and intermediate JSON preserved for audit.