← Help

Replenishment

Restocking sales channels (stores, markets) from your default stock pool: stock by location, shortfalls, replenishment runs, suggested quantities, pool units held for a run, printing a line in batches, and completing a run.

What replenishment is for

Replenishment restocks your sales channels (a store, a market stall, a shop-in-shop) from your default stock pool. Sales at a channel are logged as orders on that channel and take from the channel's own stock row; a replenishment run is the step that moves stock from your default pool back into the channel. Nothing moves automatically: you draft a run, review the quantities, print, pack, and Complete it.

Stock by location and how sales, restocks and the default pool fit together

The Replenishment page shows Stock by location: every variant with its default pool and one column per sales channel, with min, target and any shortfall under the number, filterable by product name. The flow: log what a store or market sold as an order on that sales channel and invoice it like any order, weekly if you like. On such an order a hybrid line's field reads Sold from shelf: the number you enter there is what comes off the store's own stock row (never your default pool while the store has its own row), and it is the only thing that lowers the store's count. A line left at 0 records no sale for the store, so the Sold list and the shortfalls stay empty; enter the quantity sold. The restock rule: a store is short when its count drops below Min. A restock refills it to Target (or to Min when Target is blank). Units already on a run that has not completed count as on the way. Set Min and Target per store on the product's Stock tab. For example, with Min 2 and Target 5, a shelf of 3 is not short yet; at 1 it is short, and the shortfall row says to send 4 (target 5). When you are ready to send, draft a run from the shortfalls or from the sales window, print, pack, ship and Complete: the store's count is right again. If you keep a separate stock for orders you fulfil directly, leave the order's sales channel empty or use a channel with no stock row so it takes from the default pool. Use the From stock field on a hybrid line to decide how much.

Starting a run

New run is available once the workspace has at least one sales channel (Settings → Sales channels); until then the button is disabled and says why. Choose the store in the selector at the top and a sales window (the period whose sales to look at), then draft a run. The draft is filled from the stores that dropped below their minimum (refilled to their target) and from what sold in the window; if nothing sold at this store in the period and every location meets its minimum, the run has nothing to restock. A run holds the sales and shortfalls of the moment you drafted it; sales made later join it only when you press Add new sales on the run (see One run per box below), so you can keep one run open per box. Both lists count only what is not already on a run (the Sold list shows the part in a run next to the sold figure, a shortfall shows what is on the way), so drafting again later sends only the new sales, never the same units twice. You can change which channel a run restocks before adding items.

Runs grouped by status

The Runs list on the Replenishment page opens grouped by status: one block each for Draft, Printing, Packed, Shipped and Completed, with the number of runs in each. Completed starts folded, so the runs still in progress come first. Press a block's heading to fold or unfold it, and FoxTrack remembers your folds in this browser. A status with no runs has no block. The By status and List switch beside the Runs heading changes it to one table of every run, and remembers that too.

Suggested quantities and editing the run

Suggested quantities refill each store to its Target (or to Min when Target is blank), minus what is already on the way. Adjust any suggestion up or down, remove lines, or add products by searching name, variant or SKU; select every listed product to add them all at once. Every line needs a quantity greater than zero. Each line also shows its split: From pool is how many finished units your default pool sends, and the rest is printed for the run. Pool units stay counted in the pool until you complete the run, held for it, so an order can still see them: the line says so (4 from the pool, held until completion), and adds what other open runs have planned from the same pool (5 held by RPL-0005). The From pool column on the Replenishment list shows each run's pool units, held until completion while the run is open and planned from the pool once it is completed. On an order, the variant's stock hint names the hold too (12 held by RPL-0007). A new line starts with what the pool holds; change the number to print more and keep pool stock for direct orders, or leave it blank to let the save split it. A notes field holds anything worth remembering about the run. With two or more lines, Sort next to Line items shows them by Run order (the default), Name, SKU, Box, Newest first or Oldest first; each line shows its SKU when it has one. The sort only changes how the page lists the lines: it changes nothing to save, the item cards and CSV keep the run order, and the packing slip lists its items from A to Z. A line not saved yet counts as the newest. Save before printing or completing. A run that has not completed can be deleted from its page by an owner or admin; a completed run cannot, it is the record of a stock movement.

One run per box: Add new sales

If you ship only when a box is full, keep one run open for the box instead of drafting a run each day. Draft the run when you start the box and set it to Printing. Each time the store has sold more, open the run and press Add new sales: everything the store sold since the run last looked (its draft moment the first time) is added. New units join a line of the same product only while that line is still at the first status (nothing done on it yet). Otherwise they get a line of their own that starts at the first status, so a line you have already printed or wrapped keeps its status and its date. New units take their pool split the way a saved line does, so change From pool afterwards if you want to print them instead. Adding sales does not tie the run line to those orders: the order stays the record of what the store sold, the run line is your print job to refill the store, and each keeps its own status and quantity. Changing a run line (its status, quantity or printer) never changes the order, and changing the order never changes the run; several orders can land on one run line, so a run line has no single order to point back to. The run's CSV and the order's CSV share the same columns because both are fulfillment tick lists. Their lines are separate. Pressing it twice in a row adds nothing the second time, and the Sold list on the Replenishment page counts those units as in a run, so they are never sent twice. Save your edits before pressing it. If the run changed after you opened it (someone else saved it, or Add new sales ran in another tab), Save says so instead of overwriting: Load the latest drops your edits and shows the run as it is now, Keep mine saves yours over it. The button is there while the run is Draft or Printing; a Packed or Shipped run is a closed box, and later sales go on the next run. When the box is full, print one packing slip and Complete.

The run in the print room

Once a run is set to Printing, the printed part of each line (the quantity minus its pool share) appears in the Fulfillment queue alongside order lines, marked as restock-run lines; a line the pool fully covers has nothing to print and does not appear. Each line with something to print has its own status from your item-status pipeline (Settings → Item statuses), the same one order lines use: click it on the run page or on the line's card in the queue. A line at a terminal status leaves the queue. If a finished line later gets more to print (a larger quantity or a smaller pool share), it goes back to the first status, so the new units show in the queue again. On the run page, save your edits before you change a status. A Draft run moves to Printing by itself as soon as you move one of its lines past the first status, so its lines show in the Fulfillment queue. That is the only step the run takes on its own: Packed, Shipped and Complete stay yours to press, because a Packed run is a closed box that Add new sales no longer joins, and the run never moves back by itself. Print item cards from the queue for the run's open lines, or from the run page at any status: Print item cards makes one card per unit to print (never for pool units), as shop cards or customer cards, in the large or the small card size. Each saved line on the run page shows the date it was added, and the shop card prints that date too. When a run was added to on more than one day, the Print item cards menu on the run page gains a Lines choice: All lines, or only the lines added on a given day or later, so a box you fill over several days gets its new cards without printing the old ones again. A line that got more to print (a larger quantity, a smaller pool share, or units from Add new sales) counts as added on that day, and all of its cards print again because each card says which unit of how many it is. Lines from before this feature show the date the run was last saved. Print the run's packing slip from the run page.

Splitting a run line: batches or one per unit

A run line of 40 units is one line with one status and one printer. To spread it over several printers, or to track pieces on their own, press Split on the line on the run page. The Split into batches dialog asks how many lines to make, from 2 up to one per unit to print, and shows the sizes before you press it: the units to print are shared out as evenly as possible (40 to print in 3 batches gives one of 14 and two of 13), and the units from the pool stay on the first line. Pick the top number for one line per unit. Press Split into 3 lines, then Save. Each new line keeps the printer and status it had and can then get its own printer, so each shows as its own card in the Fulfillment queue. Each new line also keeps the line's box. The run's totals do not change and nothing is printed twice. The packing slip still shows the product once with the quantities added up (per box), Add new sales adds to one of them only while it is still at the first status (otherwise the new units get a line of their own), and a split cannot be merged back automatically, so split when you start printing rather than when you draft the run.

Boxes for a run

When a run goes to the store in more than one box, type the box number in each line's Box field on the run page (empty is Box 1, up to 999) and press Save. Sort: Box lists the lines box by box. The packing slip then downloads as one PDF with a page per box, each marked Box 2 of 3 and listing only that box's items, and each item card shows its box. A run with every line in Box 1 prints one slip with no box number on it, as before. Like the other line fields, a box is only saved with Save, and the slip and cards always print the saved run.

CSV export and import for a run

Import/Export on the run page has both halves of the CSV round trip. Export CSV writes one row per line of the saved run: Item ID, run number, description, quantity, from pool, to print, filament, the Status text, then one column per status in your pipeline with an X under the current one, then printer and box number. Printed, that file works as a tick list in the print room. Import CSV opens the same import dialog as Orders and Customers (it also hands out that same file as its template): upload the filled file, check the column mapping (the Import docs button explains every column), and it updates the status, printer and box of every row whose Item ID is on the run. A column you skip is left alone. The right-most ticked status column wins; only when no status column is ticked is the Status text used. An empty Box number cell means Box 1. Unknown ids, statuses or printers, and a box that is not a whole number from 1 to 999, are skipped and counted. Save your edits before exporting or importing; a completed run can be exported but no longer imported, because its lines no longer change. To download every run in the workspace at once, use Settings → Data → Export data.

Completing a run

Print the packing slip to go with the stock, then choose Complete & transfer stock. FoxTrack asks first and shows, per item, what comes from the pool now, what was printed and what the store receives. The pool share moves out of your default pool, and the printed share goes straight onto the store's row without being booked into the pool first. The pool share is only what the pool really holds when you complete: if an order took pool units after the run was planned, those units do not arrive at the store, and the confirm says so (for example: The pool now holds 1, not 3. 2 units will not arrive at the store). Lower the line or restock the pool first, or press Complete anyway. Lines that are not finished yet are named too (3 units still Pending): completing counts them as printed and puts them in the store's stock, so press Go back to finish them first, or Complete anyway when they really are done. The printed share also uses up its bill of materials at that moment (filament grams and inventory items, never below zero), so spool weights and the filament report include restock prints. Completing cannot be undone, and a completed run cannot be deleted: it stays as the record of the stock it moved. On the product's stock History the pool share shows as Transferred to the store and the printed share as Received from the run's number. Draft a new run for the next delivery. Run numbers come from Settings → Numbering like other documents.

Still stuck?

Email info@foxtrack.studio or ask on the FoxTrack Discord. Inside the app, the question mark in the top bar sends a bug report or feedback.