What’s New
The latest features, improvements, and fixes in Carpe Inventory IQ.
Linking a Shopify variant to a SKU that already has stock now sends that stock to Shopify
If a SKU already had a count in Carpe before its Shopify variant existed — for example, SKUs created and stocked from an unbuild while the Shopify product was still unlisted, then the product published — Carpe linked the new variant but never sent its count to Shopify. The listing showed zero until the next sale or adjustment touched that SKU. Carpe now pushes its on-hand quantity, less your reserve, to Shopify the moment a variant is linked to a SKU that already has a starting count. Brand-new SKUs are unchanged: they still take their starting count from Shopify.
Collapse the sidebar to icons
A new button at the top left of every app page, beside the page content, shrinks the navigation sidebar to a narrow column of icons. Hover any icon to see its name. Click the button again to bring the labels back. The sidebar only changes width when you click — it never collapses or expands on its own — and the choice is remembered on that device and browser. Useful on the Inventory page, which also now stretches to fill the full width of the window instead of stopping at a fixed width, so wide tables with several location and marketplace columns need less side-to-side scrolling.
Hiding a location column no longer shifts the Inventory table
When a location was switched off in the Inventory page's Locations menu, its heading disappeared but its numbers stayed, so every remaining column slid one place to the left: one location's stock appeared under the next location's name, and Incoming, velocity, and Days of stock were all off by one. Stock data was never wrong — only its placement. The columns now line up whichever locations you show.
MPN, Brand, and Discontinued now import from CSV
The SKU CSV import silently ignored MPN and Brand columns — the fields were only editable one SKU at a time in the Edit SKU form. Both now import and export like every other column, so a file with an "MPN" or "Brand" header fills those fields for every row. The Discontinued column had a related problem: the import accepted it but never applied it. It now sets or clears the discontinued status as documented. Reminder for updating SKUs that already exist: tick "Update existing SKUs" in the import dialog, otherwise rows for existing SKUs are skipped.
Buildable counts no longer include stock held at Amazon or Walmart
The Bill of Materials view, the Inventory page, and the SKU page showed how many bundles you could build using every location's component stock — including units sitting at FBA, AWD, or WFS. Those units are in a marketplace warehouse and can't be assembled at yours, so a bundle could read as buildable 116 times when only 52 of a component were on the shelf. The counts now use only your own locations. This was display-only: the quantity sent to each marketplace was already calculated per location and was correct.
Products added in Shopify now get their starting count
When you create a product in Shopify, Carpe Inventory IQ creates the SKU and copies its Shopify quantity as the starting count. Shopify sends the new-product event a moment before the quantity typed on the same screen is saved, so that count sometimes arrived as zero — and stayed there. Now, until a SKU has a stock record of its own here (a sale, a receipt, an adjustment, a count, or a CSV import), the app keeps picking up its Shopify quantity on later product updates, so a quantity entered after creation still lands. Once it has a record, Carpe Inventory IQ is the record for that SKU. Two safeguards come with it: the app never sends a quantity to any marketplace for a SKU that has no starting count, so a new item can never be overwritten with a zero; and SKUs still waiting for one show an amber “No starting count” badge on the Inventory page, with a matching option in the Stock filter, so they are easy to find and set with Adjust Stock or Import CSV. The Read-Only description has also been clarified — it reads orders and new products and never pushes back; it does not mirror quantity edits made in your store.
Product images beside your SKUs
Carpe Inventory IQ now shows a product thumbnail beside every SKU that has a listing photo — on the SKUs page, the Inventory page, in every SKU picker, and in the SKU detail header. The image is the listing photo from your primary connected store, so your team can recognize a product at a glance without opening it. Hover to see it larger, click to keep it open, and use the new Images button on the SKUs and Inventory pages to switch thumbnails off for the densest view — the choice is remembered on that device and browser. Nothing to upload and nothing to maintain: images follow your listings and refresh when that channel's catalog does.
See when a product's stock last changed, without scrolling past the sales
Click a quantity on the Inventory page and the stock window now carries a Stock Changes panel under Recent Activity, listing the last three movements that weren't customer sales — goods receipts, manual adjustments, physical counts, transfers and BOM builds — each with its date, what it was, and the quantity. On a product that sells steadily, the Recent Activity list fills with single-unit sales and pushes a receipt or a correction out of sight within hours, which made “when did someone last change this number” a question you had to leave the page to answer. Order cancellations count as sales traffic and stay out of the new panel too. If nothing but sales has ever touched that product at that location, the panel says so rather than quietly disappearing.
Filter the Activity Ledger to one product
The Activity Ledger can now be narrowed to a single product using the SKU picker beside the channel filter — a date range across a busy catalog could run to tens of thousands of movements, with no way to isolate the one you came to look at. The movement count and the In, Out and Net totals recalculate for that product alone, and CSV and PDF exports follow the filter, so a download always matches what's on screen. The Activity Ledger button inside a product's stock window now carries the product across with it, instead of landing on the unfiltered report.
Combine draft purchase orders, and give every PO a tracking number
Two draft POs can now be merged into one: open the Actions menu on the draft you want to fold in, choose Merge into…, and pick the target. All of its line items move over (keeping their descriptions and order), adjustments and notes carry along, totals recompute, and the leftover PO is deleted — with a warning first if the two drafts name different suppliers. Separately, every purchase order now has a place for the supplier's shipment tracking number: click Add tracking number in the PO's Ship To section. It can be added or changed on any order that isn't cancelled — including after receiving — and stays off the PO PDF, since that's the document you send to the supplier.
Reorder Suggestions: see the PO split before it happens, and fix lead times in place
Creating draft POs from Reorder Suggestions now shows a confirmation whenever your selection spans more than one supplier — or includes SKUs with no supplier on file — previewing exactly which POs will be created, with any Unknown Supplier group clearly highlighted before anything exists. No more surprise second PO. And each suggestion row's lead time is now editable right on the page: click the pencil next to the lead-time badge to set or clear that SKU's override, and the suggestion recalculates immediately.
Inventory page: pick your Days window, see exact units sold, filter discontinued items
The Days-of-stock column's window is now yours to choose — 30, 60, 90, or 180 days — from the Velocity columns menu, with the header always showing which is active. The same menu can switch the velocity columns from average units per day to the exact units sold over each window, and adds an optional 180-day column for slow movers. The filter bar also gained a Discontinued dropdown, so sell-down items can be hidden from (or isolated in) your day-to-day view.
Find SKUs that aren't listed anywhere
The SKUs page can now show only SKUs with no listing on any connected channel — retired products still holding stock, or newly imported items whose listings haven't been mapped yet. Open the Items & Listings panel in the filter bar and turn on No channel listings only. The same panel holds the Hide dynamic BOMs and Dynamic BOMs only switches, so the two combine (hide dynamic BOMs and see only unlisted items at once), and the result flows into the CSV export, so you can pull a clean worklist of stocked-but-unlisted products.
Arrange purchase order lines and rename what your supplier sees
Purchase order line items are now yours to arrange: drag any line into place while editing a draft (arrow buttons on your phone), or click Sort by SKU Code to order the whole list at once — and draft POs created from Reorder Suggestions now come out sorted by SKU code automatically, so related products sit together instead of scattering by urgency. Each line's description is editable too, for when your customer-facing product names aren't what your supplier calls the item. The field starts prefilled with the product's name, so trimming a long name is just deleting the words that don't belong — and a checkbox offers to save your edit as that SKU's PO Short Name, so every future purchase order for it fills in automatically. Short names can also be set in the SKU edit dialog or in bulk through a new PO Short Name column on the SKU CSV export and import. Your line order and descriptions carry through to the printed PDF; receiving screens and accounting exports keep your regular catalog names.
Edit your Amazon product titles and Item Highlights
Amazon now splits product titles into a 75-character title and a 125-character Item Highlights field — and titles over the limit are being rewritten by Amazon's automated systems, with a review window only for Brand Registry members. You can now edit both fields yourself from Channels → Amazon → Product Titles: one listing at a time with live character counters that stop over-limit edits before they're sent, or your whole catalog at once by exporting a CSV, editing it in a spreadsheet, and importing it back with a preview that flags problem rows before anything goes out. Changes typically appear on Amazon in under a minute. And once you've set a title, the app keeps watch: if Amazon later rewrites it, the listing is flagged with both versions side by side and a one-click way to put yours back. Everything applies only to your Amazon listings — never to your SKU names or other channels.
In Transit list on the Inventory panel updates
The In Transit list on the Inventory page — the panel that opens when you click a quantity — may have shown the wrong shipments for stock sent to Amazon or Walmart. Shipments on their way sometimes didn’t appear, and ones that had already arrived sometimes stayed on the list. It now follows each shipment’s live status. This was display only; your quantities were never affected.
Tooltips on purchase order line items
When SKU codes or product names share a long beginning and differ only at the end — a size, a color, a pack count — a purchase order line could cut off the very part that told them apart. Hover any shortened SKU code or description on a purchase order line item and the full text now appears above it. This works when you're editing a purchase order and when you're receiving one. The Description column is wider as well, so most product names now read in full without hovering at all. Hovering needs a mouse, so it won't show on a phone or tablet.
Search finds a SKU from any fragment of its code or name
You never have to type a whole SKU code, or start at the beginning of one, to find what you're after. Any fragment works — the first few characters, the number on the end, a word from the middle of a product name — and it matches anywhere in the code or the name, not just at the start. So for a SKU like WIDGET-200 Blue, “WID” finds it, so does “200,” and so does “blue.” Fragments combine too: type “wid 200” and both pieces just have to appear somewhere, in any order, which is how you separate WIDGET-200 from WIDGET-2001 without remembering exactly how the code is punctuated. Matching is case-insensitive, and every extra word narrows the results. This works in every search box in the app — the SKUs page, Inventory, purchase orders, reorder suggestions, transfers, bills of materials, suppliers, and locations — and on the SKUs page each fragment is also matched against the product's channel identifiers, so a piece of an ASIN, FNSKU, Seller SKU, or UPC pulls up the right item as well.
Record off-channel sales
Sold something your connected channels can't see — a wholesale invoice, a trade show, a gift basket, or discontinued stock moved elsewhere? On the Inventory page, click Record Off-Channel Sales and record it as a simple two-column CSV (SKU Code, Quantity). Review exactly what will be deducted before you confirm — including how items built from components break down into their parts — then track each batch in the dialog's History tab, with one-click undo if you need to correct it. Inventory and cost of goods sold update across every connected channel, and the sale stays out of your channel analytics.
Migrate from Finale Inventory
Switching from Finale Inventory? A Migration Wizard now brings your catalog (including raw materials), bills of materials (BOMs), and marketplace product lookups (aliases) across using the files Finale already exports — no reformatting. Work through it step by step, and come back to re-run any step on its own (for example, to finish marketplace links after you connect a channel).
Connect your BigCommerce store
Carpe Inventory IQ now works with BigCommerce. If your store runs on BigCommerce, connect it from the Channels page (or install Carpe Inventory IQ from the BigCommerce App Marketplace) and BigCommerce becomes part of your one inventory ledger — alongside Amazon, Walmart, and eBay. Carpe Inventory IQ imports your BigCommerce products, locations, and on-hand inventory, and brings in up to two years of order history so your sales-velocity and reorder suggestions work from day one. Like every channel, BigCommerce starts in Read-Only mode: it reads your orders and inventory but writes nothing back to your store until you switch it to Full Sync. Once live, an on-hand change anywhere updates BigCommerce in near real time, so you never oversell. Bills of materials, purchase orders, landed costs, and COGS-by-channel reporting all include BigCommerce — and because pricing is by connected channel, not per SKU or per user, adding BigCommerce never changes your per-SKU costs.
The Inventory page keeps your place
Sort by a column, search for something, click through to a purchase order, come back — and the page is exactly as you left it. The Inventory page now remembers your search, filters, sort, and page number for the rest of your browser session, so following a link out no longer costs you your place. (Column visibility choices were already remembered permanently; this adds your working state on top.) The Potential column's breakdown popover got a round of polish in the same pass: it's wider with more breathing room, each purchase order shows its expected arrival date on its own line beneath the order number, clicking an order number now opens that purchase order directly on the Purchase Orders page, and there's an X to close the popover when you're done. The page itself also loads noticeably faster — most of all for catalogs with many items on order.
Discontinue a product without deleting it
Some products you rotate out over time — you want them to sell all the way down to nothing, not keep restocking. Mark a SKU discontinued (the Discontinued switch in the Edit SKU panel, or in bulk from the SKUs list) and its reserve buffer comes off everywhere it's stocked, so it actually sells out instead of holding back a cushion — and it drops out of reorder suggestions so you're never prompted to buy more of something you're retiring. It keeps selling and syncing normally the whole time; discontinuing never deactivates it. Once it's fully sold out, an amber "Discontinued — sold out" badge appears on the SKUs list and Inventory page, and on the SKUs list a one-click Deactivate sits right next to it so you can finish the job when you're ready — nothing deactivates on its own. For bundles built from components, discontinue the components too if you want the bundle to sell out completely, not just the listing. Reversible any time with Undo discontinued. You can also flip a SKU's discontinued status in bulk via the SKU importer's new optional Discontinued column, and purchase orders now flag a discontinued SKU on the line without blocking a final closeout order.
Import case packs in bulk
If you sell multipacks — a 6-pack, a case of 12 — you can now set them all up at once instead of building each recipe by hand. Go to the BOMs page → Import case packs, upload a CSV mapping each multipack listing to the item it's built from and how many units it takes, and Carpe Inventory IQ creates the recipes automatically. Any stocked item that doesn't exist yet is created for you — just remember to add its cost before it sells anywhere. It's safe to re-run the same file as your catalog grows.
Choose how your catalog is imported
During initial onboarding (and on the Channels page), you now choose between Sync from my store — we create your Carpe Inventory IQ SKUs from your store's listings and keep them up to date as your store changes — and Import it — for merchants who currently track inventory in another system and want to bring in their own SKUs, quantities, costs, and bills of materials by CSV import. If you choose Import, your catalog contains only what you import — we never create SKUs by reading your store.
Inventory reserve now holds back pieces, not listings
If you sell a bundle or kit whose availability is calculated from its components, your per-channel inventory reserve was being applied to each finished listing separately — after the quantity had already been divided down by how many components go into one unit. A single reserve of 10 could hold back 10 of the single, 10 of the 5-pack and 10 of the 20-pack of the same physical part, reserving the same stock several times over at several different multipliers. The reserve is now subtracted from the component’s physical stock before that division, so it holds back the number of pieces you actually asked it to. What you’ll notice: bundle and kit listings that share a component publish slightly higher quantities than before. Nothing goes down, and nothing oversells. Kits you physically build and count as their own stocked item were never affected by this and are unchanged.
Track lot numbers and expiry dates, per SKU
If you sell anything date-coded — food, cosmetics, supplements — two questions eventually land on your desk: “a supplier recalled a batch, which orders shipped it?” and “how much short-dated stock am I sitting on?” Carpe Inventory IQ can now answer both. Lot tracking is a per-SKU switch (Edit SKU → “Track lots & expiry dates”), so your date-coded products get it and the rest of your catalog stays exactly as it is — and you can flip it on for a whole batch of SKUs at once with the SKU CSV import, using the new “Track Lots” and “Require Expiry” columns. Once it’s on, every stock-in asks for the lot: purchase order receiving gets a lot number and expiry field on each line, and single stock adjustments get the same. Stock you already had stays as untracked stock — nothing to backfill — and sales use untracked stock first, then the earliest-expiring lot, mirroring how a well-run warehouse rotates stock (we record the rotation; keep rotating oldest-first on the shelf and the records stay honest — a Reassign tool on the SKU page corrects any drift a count turns up). Each lot-tracked SKU’s page now shows every lot with its expiry, days remaining, and quantity per location, and a history view lists every order, receipt, and transfer that touched the lot — your recall answer in one click. A new Lot Expiry report lists dated lots earliest-first with 30/60/90-day windows and totals for expired and at-risk units. One honest caveat: expiry tracking is reporting-only for now — expired stock still counts as sellable in the quantities pushed to your channels until you remove it with an adjustment. Automatic exclusion of expired stock is on the roadmap, as is per-lot physical counting. Amazon FBA stock isn’t lot-tracked — Amazon manages dated inventory in its own warehouses.
See how many units you could have once your purchase orders arrive
When a SKU is low or sold out, the question that matters is “how many could I have, and when?” — and answering it used to mean opening the bill of materials, checking component stock, and cross-referencing open purchase orders by hand. The Inventory page now has a Potential column that does that math for you. For a standard SKU it shows the units still coming on open purchase orders (partially received orders count only the remainder). For a manufactured product it adds what you could build from components — including components that are still inbound. For an assembled-to-order bundle it shows only the extra builds your incoming components unlock, on top of the buildable-now number the page already shows. Click any value to see the breakdown and the exact purchase orders behind it, each with its expected date and a link to the order. Prefer a different header? Rename the column under Settings → Display — “On Order,” “Incoming,” whatever fits how you talk about stock — and show or hide it from the columns menu on the Inventory page. One caveat worth knowing: values are per-SKU answers to “what could this product reach,” so two products sharing the same inbound component each count it. The same outstanding-units math now also powers the On Order column in Reorder Suggestions, which previously counted partially received purchase orders at their full ordered quantity.
Import a large catalog without it timing out
Bringing a big product catalog into Carpe Inventory IQ used to mean watching a spinner and hoping a large import didn’t stall partway through. Now both ways you can load products — uploading a spreadsheet (CSV) or syncing from your connected Shopify store — run in the background and handle catalogs of tens of thousands of SKUs. You get a live progress bar (“8,000 of 25,000 imported”), and you can leave the page or keep setting up the rest of your account while it finishes — a banner keeps you posted. When it’s done, you’ll see exactly how many SKUs were created, updated, and skipped, plus a downloadable report of any rows that didn’t import and why, so nothing fails silently. Your spreadsheet’s full detail comes across too — names, costs, UPC/ASIN, reorder points, suppliers and supplier part numbers, bin locations — and you can re-upload a sheet to update existing SKUs by code or by ID.
Your default location is now pre-selected everywhere you work
If your operation runs out of one warehouse, you shouldn’t have to pick it from a dropdown every single time. Every screen that asks you to choose a location now starts on a sensible default, and you can still change it whenever you need to. Receiving a purchase order defaults to the location the PO was shipping to — the place the goods were headed — so a partial receipt is one click away. New transfers pre-fill the “From” location with your primary warehouse and leave “To” blank, since the destination is the part that actually changes. Physical counts and bill-of-materials builds and unbuilds default to your primary location too. Which location counts as the default is the one marked as your primary shipping location on the Locations page, so if you ever want a different default, change it there and it flows through the whole app.
Update a purchase order’s expected date without reverting to draft
Delivery dates slip — so the expected date on a purchase order is now editable in place. On any open PO (Draft, Confirmed, or In Transit), open the order and click the Expected Date at the top of the detail panel, pick a new one, and it saves on the spot; you can also clear it. No more reverting to draft, editing, and re-confirming just to push a date out a week. The reason it used to be locked: when you confirm a PO, we generate and store the exact PDF that represents the order you sent your supplier, and we lock the order so the record can’t quietly drift from the document the supplier is holding. That protection still applies to the commercial terms — line items, quantities, unit costs, and the supplier — which stay locked once a PO is confirmed; changing any of those still goes through revert-to-draft on purpose. But the expected date is a forecast, not a commercial term, and it feeds no inventory, reorder, or accounting numbers, so it no longer needs the full cycle. Editing it leaves the confirmed PO document untouched. Once a PO is received or cancelled, the date becomes read-only.
Add or subtract units in the quick stock box — no mental math
The quick stock box — the one that opens when you click a product’s on-hand number on the Inventory page, or the edit button on a Reorder Suggestions row — now lets you add or subtract units, not just set an exact count. A small Subtract / Set to / Add toggle sits above the field. Choose Add and type 12 to put twelve units back; choose Subtract and type 3 to take three away; or stay on Set to (the default) and type the final number like before. As you type, a live “New on-hand will be …” line shows exactly where you’ll land, so you never have to do the math against the current count in your head — handy when you’ve just received a few units, pulled some for samples, or are fixing a small miscount. Subtracting can’t take a SKU below zero, and the result is recorded as the same inventory correction as before, so you’re never asked for a cost. The reason still defaults to “Manual Update” with the usual one-tap options.
Dynamic bundles stay out of your purchasing tools — and your components still get reordered
A Dynamic BOM — a bundle or kit that builds itself the moment it sells — isn't something you ever purchase: it holds no stock of its own and breaks down into its components as it's ordered. So it now stays out of the tools that are about buying. It's left out of the SKU search when you build a purchase order, a bill of materials, or a transfer, and it's now also kept out of Set Lead Times, where it was only cluttering the list. Lead times, reorder points, and purchase orders are about what you actually buy — your raw materials and components — so those are what these tools show. The important part: leaving the bundle out doesn't make its demand disappear. When a bundle sells, the sale flows straight down to its component raw materials, and each component is reordered from that real pull-through — combined with its own direct sales and every other bundle or assembly that uses it. On the Reorder Suggestions page, a component driven by bundle sales shows a breakdown of which finished goods are creating the demand. So you plan and buy at the level you actually purchase — the parts — while your bundles quietly drive the numbers. Bundles are never hidden from your catalog; they still appear on the SKUs page and wherever you review your recipes.
Retire a discontinued SKU right from the inventory screen
You’ll usually notice a discontinued product right where it has run to zero — so now you can retire it on the spot. Click a product’s on-hand number on the Inventory page (or the edit button on a Reorder Suggestions row) and the quick stock box now includes a “Deactivate SKU” option in the bottom-left, no trip to the SKUs page required. It’s the same reversible deactivation as always: the SKU is marked inactive, stops syncing to your sales channels, and drops off your active lists, and you can reactivate it anytime. To protect your numbers, the option only turns on when the SKU is truly idle — it stays disabled, and tells you why, while the SKU still has stock on hand, has units in marketplace fulfillment (FBA, WFS, or AWD), is mid physical count, is on an in-flight transfer or an open inbound shipment, or is still an active component in another product’s recipe. If it’s just stock on hand, you can set the count to 0 in the same box and then deactivate. Available to roles with permission to remove SKUs.
Set your own lead times — and watch reorder quantities adjust to them
Until now, the lead time behind your reorder suggestions was inferred entirely from your purchase order history, and when there was no history yet it fell back to a flat 14 days — which badly understated anything coming from overseas. You can now set lead times yourself. Give a supplier a default lead time in days and it applies to every product you buy from them; set a lead time directly on an individual product to override that for one SKU; or update many at once from SKUs → Lead Times, either as a single number across your selection or a per-row CSV. The value you set takes priority, falling back to the measured average from your recent purchase orders, and only then to the 14-day default. Because the suggested order quantity now plans around the full lead-time window, a longer lead time raises both when to reorder and how much to buy — so a product that takes four months to arrive is ordered in time and in the right quantity, and seasonal items account for the run-up to a peak. This is a change to how suggested quantities are calculated, so you may see different numbers than before. Each reorder row shows which lead-time source it used, flags when a value you set has drifted well away from what your purchase orders actually measured, and notes when a product has several suppliers so no single supplier default applies.
Dynamic BOMs no longer clutter the SKU search on POs, BOMs, and transfers
When you search for a product to add to a purchase order, a Bill of Materials, or a transfer, your Dynamic BOMs (the finished goods that build from their components when ordered) no longer crowd out the SKU you’re actually looking for. A Dynamic BOM isn’t something you buy, build into a recipe, or move on its own — it breaks down into its components as it sells and never holds stock of its own — so it’s now left out of the SKU search in all three of those places. The item you want comes up first instead of being buried under every color and size of a Dynamic BOM. Manufacturing assemblies still appear on purchase orders, since those are genuine buy-or-build items. Your Dynamic BOMs are never hidden from the catalog itself: on the SKUs page, the Items & Listings panel in the filter bar has a Hide dynamic BOMs switch to focus on individual products and a Dynamic BOMs only switch for when you want to review your recipes; leave both off to see everything.
Fix a stock count right where you spot it
When you’re scanning your inventory and notice a count that’s wrong, you can now fix it on the spot — no more copying the SKU and opening the full Adjust Stock tool. On the Inventory page, click a product’s on-hand number, type the correct count, and save. On the Reorder Suggestions page, every row has an edit button that does the same thing, so when something shows up as low that isn’t really out of stock, you can put it back in stock without leaving the page. Correcting a count never asks you for a cost — the change is valued at the item’s current average cost automatically — and the reason defaults to “Manual Update,” with one-tap options like Found inventory, Shrinkage, or Damaged. Quick edits still run through the same inventory adjustment as before, so your ledger and cost of goods stay accurate; the Reorder Suggestions edit defaults to your primary location and lets you switch. Available to anyone on your team with permission to adjust inventory.
Manual stock adjustments now post to your accounting
If you’ve connected QuickBooks or Xero, manual inventory adjustments now post an inventory adjustment journal entry, the same way physical counts already did. Previously, adjusting stock through the Adjust Stock tool updated your on-hand and cost of goods inside Carpe Inventory IQ but didn’t reach your accounting, so your inventory asset balance could drift from your books over time. Now an adjustment that raises stock posts as an overage and one that lowers it posts as shrinkage, each valued at the item’s current average cost — and the new click-to-edit adjustments post the same way. This only affects accounts with an active accounting connection; if you don’t use the accounting integration, nothing about your workflow changes.
Combine duplicate SKUs into one
When two or more SKU records really describe the same product — a duplicate from a CSV import, the same item that came in separately from two channels, or a code that drifted after a relaunch — you can now merge them in one step. Select the duplicates on the SKUs page, click Combine, and pick the one to keep as the primary. Every channel mapping (Shopify, Amazon FBA/FBM, Walmart, eBay), your marketplace fulfillment inventory (FBA, AWD, WFS), and all history — orders, inventory ledger, purchase orders, transfers, shipments, cost, and assembly records — move onto the primary, and the extra records are retired. Combine only ever retires empty, idle duplicates: if a SKU you’re folding in still holds on-hand stock, has a recipe, or is mid count, transfer, or shipment, the merge is blocked and tells you exactly which SKU and why, so the primary you keep is never at risk. The retired SKUs are deactivated rather than permanently deleted, so your history stays intact and the change is reversible.
Clearer cost of goods for assemblies and kits
A Bill of Materials gets its cost of goods from its components — you never assign it by hand — and we’ve made that easier to see. Manufacturing assemblies and Dynamic kits no longer appear in “Assign Cost Data to Products,” so that list only shows products that genuinely need a cost. And on a finished good’s SKU page, its Standard Cost now shows the rolled-up total of its components labeled “from components” (for example, two sleeves at $1.78 each shows $3.56), with the same estimate on its Bill of Materials. That means you can see an assembly’s expected cost right away instead of a blank field, even before its first build. Nothing about how cost is recorded has changed: a Manufacturing assembly still locks in its cost when you execute a build, and a Dynamic kit still computes it live from components on every sale — the rolled-up figure is a clear, upfront preview of both.
Auto-created Amazon and Walmart transfers now use the actual shipment ID
When you create an inbound shipment to Amazon FBA, Amazon AWD, or Walmart WFS, Carpe Inventory IQ automatically records a matching transfer to draw the units out of your warehouse. Those transfers now use the marketplace’s own shipment ID as the transfer number — for example, an Amazon shipment appears as FBA19FTWZSBQ instead of an internal reference — so each transfer lines up one-to-one with what you see in Seller Central or your Walmart account, and you can search for it by the exact ID Amazon or Walmart gave you. The amber “Auto” badge still marks every transfer we created for you. Transfers created before this change were renamed to their shipment IDs as well, so your history stays consistent. Manual transfers between your own locations keep their own numbering and are unaffected.
Cleaner Amazon imports — variation “parent” listings are skipped automatically
When you import or re-import your Amazon catalog, Carpe Inventory IQ now automatically skips non-buyable variation “parent” listings — the empty container listings that group a product’s size, color, or other options together. A parent listing carries no price or inventory of its own and isn’t sellable, so it only cluttered your catalog. Your imported catalog now stays focused on the sellable child and standalone listings you actually manage, and detection uses Amazon’s own listing classification, so genuine sellable products are never affected. If you connected Amazon before this change and parent listings were already imported, our support team can deactivate them for you — and when they do, you’ll get a quick email and an in-app note confirming what was tidied up.
Choose whether — and how — your cost of goods updates Shopify’s Cost per item
Carpe Inventory IQ keeps Shopify’s “Cost per item” field in step with your real cost of goods, and now you decide whether it does and which cost to use. On your Shopify connection under Channels, a new Cost Sync section lets you turn cost push on or off and pick the basis: weighted average cost (averaged across all your receipts, including allocated landed costs like freight and duty) or last purchase cost (the most recent supplier unit price, before freight). Weighted average stays on by default, so existing stores behave exactly as before — nothing changes unless you change it. Your cost flows to Shopify automatically as it updates from purchase order receipts, transfers, and manual cost edits; manual edits always push the exact value you type, while automatic updates follow your chosen basis. Switched the basis, or just imported a batch of products? Use “Re-sync all costs now” to push your current basis to every mapped product in one pass instead of waiting for each one’s cost to change next. A read-only summary of your choice also appears in Settings under the Inventory tab. This applies to Shopify only — Amazon and Walmart don’t expose a writable cost field.
Catch and fix stores that finished setup with zero inventory
Sometimes a store finishes connecting Shopify but its stock levels never come across, so every product shows zero on hand. Carpe Inventory IQ now catches this for you instead of letting it go unnoticed. Right after the setup import, if products came in but no inventory levels did, the import step now stops and tells you — with a guided option to pull your current quantities straight from Shopify on the spot, so you can finish setup with correct counts. For stores already past setup, a daily check flags any account that has products but effectively no on-hand inventory (gift cards and dynamic bundle products are correctly ignored, since those never carry their own stock), and our support team is alerted so they can pull your Shopify counts for you and get your numbers right. Pulling from Shopify reads your current available quantities and reconciles your on-hand to match; it never changes anything in Shopify, and it always shows a preview before any change is applied. Existing stores that already had accurate inventory are unaffected.
Smarter SKU search — channel identifiers and multiple keywords
Search on the SKUs page now finds a product by any of the channel identifiers attached to it — an Amazon ASIN, the FBA/AWD fulfillment ID (FNSKU), a channel Seller SKU, or a UPC/GTIN — not just the primary SKU code and name. Type the ASIN printed on an Amazon listing and the matching SKU comes up, even when that code lives only on the SKU’s channel aliases or its Amazon Fulfillment Inventory record. You can also type several keywords in any order — each word just has to appear somewhere on the SKU, not next to the others — so “widget blue” and “blue widget” both find the same item, which helps when you have lots of products with similar names. Matching is case-insensitive, and adding more words narrows the results since every word has to match. Previously search only looked at the fields stored directly on the primary SKU and treated your whole query as one phrase, so an ASIN that lived on an alias — or two words that weren’t next to each other — wouldn’t turn anything up.
Import Shopify Bundles as Bills of Materials
If you built bundles with the Shopify Bundles app, you can now turn them into Bills of Materials in one step, so bundle sales draw down the right components and record accurate cost of goods. On the BOMs page, click “Import from Shopify” to preview every bundle and the components Carpe Inventory IQ matched inside it, then pick which ones to convert — each becomes a Dynamic BOM. Nothing is created until you confirm, and it only adds new BOMs: your existing products and BOMs are never changed, so it’s safe to run again as you add more bundles. Bundles whose components aren’t in your catalog yet are listed as skipped, with the reason, so you can add those products first. The button appears only when a supported store (currently Shopify) is connected.
eBay Inventory Sync
Carpe Inventory IQ now syncs inventory and orders with eBay. Connect your eBay seller account from Channels — the same OAuth-and-Read-Only-first flow as Amazon. Carpe Inventory IQ reads your active eBay listings via the Active Inventory Report, auto-maps any whose Custom Label matches a SKU code you already use, and lets you map the rest manually or via CSV. Orders flow in within seconds (an eBay order-confirmation notification fires a real-time webhook), and cancellations reverse inventory automatically on the next sync cycle. When you flip to Full Sync, available quantity is pushed back to eBay — Inventory Reserve and Dynamic Cloak™ apply the same way they do for Amazon and Walmart. Carpe Inventory IQ never creates, edits, prices, or ends eBay listings; only available quantity is ever written. eBay multi-variation listings are supported (one mapping per variation). Each connected eBay account counts as one channel on your bill, exactly like Amazon or Walmart.
Amazon Inventory Sync No Longer Resets Custom Handling Times
If you set a custom handling time on an individual Amazon merchant-fulfilled (FBM) listing in Seller Central, the inventory sync was unintentionally resetting that SKU's handling time back to your Amazon account's default every time it pushed a new quantity. Quantity updates now leave your per-listing handling time exactly as you set it in Amazon — only the available quantity is updated, and nothing else on the listing is touched. This affected FBM listings only; FBA listings were never involved, since Amazon manages FBA fulfillment and handling time directly. No setup or action is required. If a SKU's handling time was reset previously, set it again in Seller Central and it will now hold.
Shopify POS Support
If you sell on both the Shopify online store and Shopify POS, in-store sales now flow through the same inventory ledger as online sales. A POS sale decrements the retail location identified on the order; an online sale decrements your designated primary shipping location; each Shopify location is pushed back independently so retail and warehouse counts stay separate. No extra connection step — the standard Shopify scopes already cover POS, so existing merchants get this automatically. POS sales feed velocity, reorder suggestions, and every accounting report, and the Shopify historical import already pulls past POS orders so day-one numbers are accurate. Two configurations are supported today: a single Shopify location (most common — store and online share one bucket) and multiple Shopify locations with physically separate stockpiles (retail store plus warehouse, each tracked independently). Pooled inventory across multiple Shopify locations, ship-from-store routing, and a cashier-facing surface inside the POS terminal are not handled yet and are called out explicitly in the help guide.
Xero Integration — Live Posting, Auto-Provisioned Tracking Categories
Carpe Inventory IQ now syncs transactions directly to Xero, alongside QuickBooks Online. Connect Xero in Settings → Accounting and the integration sets itself up: if your Xero organization has no tracking categories yet (the typical case for a new Xero account), Carpe Inventory IQ creates a “Sales Channel” tracking category for you and pre-fills one option per sales channel you've already connected — Shopify, Amazon FBM, Amazon FBA, Walmart. Channel mappings are auto-set so the setup page lands ready to use, and the only thing left to confirm is your chart of accounts. Bills from goods receipts post as DRAFT invoices for review. Physical-count variances post as draft manual journals. Daily cost-of-goods-sold posts as a final manual journal, tagged by sales channel. Disconnecting also revokes the OAuth grant on Xero's side so reconnecting later shows a clean consent screen rather than “Already connected.” Both QuickBooks Online and Xero are first-class — same orchestrators, same audit trail, same kill switches.
Duplicate a Purchase Order
Restocking the same suppliers with the same items every month? You no longer have to rebuild the PO from scratch each time. Open any purchase order, click Duplicate, and a fresh DRAFT PO appears with the same supplier, the same lines, and the same quantities — ready to review and confirm. The duplicate isn't a verbatim copy: line costs are refreshed to whatever your current cost waterfall returns (so price changes since the original PO are picked up automatically), supplier part numbers are re-snapshotted from your current Supplier SKU mappings, the expected delivery date is shifted forward by the same lead-time gap as the original, and a new PO number is generated. Landed-cost adjustments and internal notes are intentionally left off the duplicate — adjustments are shipment-specific and would distort cost allocation on the new receipts; internal notes belong to the original PO's context. Empty POs can't be duplicated.
QuickBooks Online Integration
Carpe Inventory IQ now syncs transactions directly to QuickBooks Online — no CSV exports required. Every purchase-order receipt creates a draft bill in QuickBooks with a line item for each SKU at the received unit cost, separate lines for landed costs, and a due date calculated from the supplier's payment terms. Physical count variances create draft journal entries that debit your inventory adjustment account and credit inventory asset (or the reverse for overages). Each night, Carpe Inventory IQ creates a single cost-of-goods-sold journal entry for the previous day's shipped orders — one debit line per sales channel (optionally tagged with a QuickBooks class) and an inventory credit for the total. Connect in Settings → Accounting.
Guided Catalog Setup — Automatic SKU Matching Across Channels
Connect Amazon or Walmart and the system does the hard part. It fetches your entire catalog, extracts manufacturer part numbers and UPC barcodes, matches products across channels, and suggests your primary SKU codes — each with a confidence score. High-confidence matches are auto-resolved. The rest get your attention, not the 80% the system already figured out. Accept the suggestions, edit inline, or download a CSV with everything pre-filled and fix the exceptions in a spreadsheet. One column to fill in, upload it back, confirm. When you connect a second or third channel later, existing products auto-match by UPC — no manual mapping for the majority of your catalog. Every SKU now also shows Product Identity fields (MPN, Brand, UPC) on the detail page, populated automatically from Amazon’s catalog data.
Bulk Manufacturing Builds
Execute multiple manufacturing builds in one operation. Select a location, check off the BOMs you want to build, enter quantities (or click Fill Max to build everything you can), and execute the batch. Upload a CSV for large production runs, or download a template pre-filled with your buildable BOMs. Failed builds are skipped with reasons — download the failure report and fix what needs fixing. No more clicking through one build at a time.
Carpe Inventory IQ Assistant
We wrote the manual. It’s good. You’re not going to read it. We respect that. The Carpe Inventory IQ Assistant is an in-app assistant that knows everything about how the product works — every feature, every setting, every workflow. Ask it anything. It won’t judge you for not reading the docs first. Neither will we. Consider it the officially sanctioned alternative to RTFM.
FBA Inventory Breakdown Tooltip
Click any FBA number on the Inventory page to see the full breakdown: Available, Inbound, FC Transfer, Reserved, Researching, Unfulfillable, and the total At FBA. No more switching to Amazon’s console to understand why the numbers differ — every detail is one click away.
Automatic FBA Shipment Tracking
Shipments to Amazon FBA are now tracked automatically. When you send inventory to FBA, the app detects the inbound shipments and creates transfer orders (HQ → FBA) on the Transfers page. Each transfer shows the SKUs, quantities, and Amazon shipment ID. Transfer status updates as the shipment progresses from In Transit to Receiving to Closed.
Unbuild — Disassemble Finished Goods Back into Components
A new Unbuild action on the BOMs page lets you disassemble finished goods back into individual components — for FBA returns, defective batches, seasonal kit teardowns, or any time you need to reverse an assembly. Unlike reversing a build (which is tied to a specific build job and returns everything at full quantity), unbuild is a standalone event with per-component recovery control. A two-step dialog guides you through selecting quantity and location, then adjusting how many of each component are recoverable vs. written off, with a required reason for any write-offs. Cost impact is displayed in real time. All inventory movements — finished good removal, component recovery, and write-offs — are fully traced in the Activity Ledger.
Barcode Scanning for Physical Inventory Counts
Scan barcodes with your phone’s camera during physical inventory counts — no handheld scanner or additional hardware required. Tap the camera icon on the count page, point at a UPC, FNSKU, EAN, or GTIN barcode, and the matching SKU is selected instantly. If a barcode doesn’t match a known SKU, the app prompts you to assign it. Supports UPC-A, UPC-E, EAN-13, EAN-8, Code 128, and Code 39.
Automatic SKU Identifier Population
UPC and ASIN fields on SKUs are now automatically populated from connected channels. Shopify product barcodes fill the UPC field during onboarding and product sync. Amazon ASINs and Walmart GTINs are backfilled from channel aliases. Existing data was backfilled for all connected merchants.
Team Members & Role-Based Access Control
Account owners can invite team members by email from Settings → Team. Invitees set their own password through the invitation link to join the workspace. Assign each team member one of four roles — Owner, Manager, Warehouse, or Viewer — each with different levels of access. New invites default to Viewer (read-only). Invitations expire after 7 days, and owners can resend or cancel pending invites and deactivate active team members from Settings → Team. Navigation items are filtered per role so each person only sees what they have access to.
Stock Adjustments: Returns, Damage & Corrections
A new Adjust Stock dialog on the Inventory page lets you add returned or found units back to sellable stock, or remove damaged or written-off inventory. Single-item mode for quick one-off adjustments with a reason field and suggested reasons (return, damaged, shrinkage, found inventory). Bulk CSV mode for processing multiple adjustments at once — positive quantities add stock, negative quantities remove. Every adjustment creates a proper ledger entry with full traceability in the Activity Ledger, and channel sync runs automatically.
Filter Physical Inventory Counts by SKU Type
You can now filter physical inventory counts by SKU type — Finished Goods, Raw Materials, or Intermediate. The filter applies to both the on-screen count list and the CSV export, so you can run a cycle count of just finished goods without scrolling past raw materials.
Dynamic BOMs Excluded from Physical Inventory Counts
Dynamic BOM products (built to order when purchased) were incorrectly appearing in physical inventory count sessions and CSV exports. Since these products have no physical stock to count, they are now automatically excluded from count sheets.
What's New Page
You’re looking at it! A public log of every feature, improvement, and fix is now available so you can see exactly what’s changed. Every entry includes a date, description, and links to relevant help pages where applicable.
Physical Inventory CSV Enhancements
Count sheet exports now include a System Qty column for non-blind counts, making it easier to compare quantities on paper. The variance report page has a new Export Results button for downloading completed count results as a CSV — useful for audit records and sharing with your accountant. CSV imports no longer require a Location column since the count session already knows which location you’re counting.
Subscription Lifecycle Management
If your subscription is frozen due to a billing issue, Carpe Inventory IQ now detects it automatically. Your channels switch to read-only mode to prevent sync issues, and a banner guides you to resolve the billing problem in Settings → Billing. Once resolved, your channels restore to their previous sync settings automatically.
Proactive Monitoring
We’ve added automated monitoring that watches for errors, elevated failure rates, and slow operations — alerting our team proactively so we can address problems before they affect your workflow.
Automated Walmart Transfer Tracking
Transfers to Walmart Fulfillment Services (WFS) warehouses are now tracked automatically. When you create a WFS inbound shipment, Carpe Inventory IQ detects it and creates a transfer record — no manual entry needed.
Automated FBA & AWD Transfer Tracking
Transfers to Amazon FBA and AWD warehouses are now tracked automatically via Amazon’s inbound shipment data. Auto-created transfers are marked with an “Auto” badge to distinguish them from manual entries.
Help Center & FAQ
A comprehensive help center with getting-started guides, feature documentation, and a searchable FAQ is now available. Find answers to common questions, learn how to set up marketplace connections, and explore every feature in detail.