A customer sends a PDF. A supplier sends a quote. Your own stock lives in a spreadsheet somebody maintains by hand. Every one of those has to become structured data before your team can act on it, and until now that meant somebody typing it in.
August was about removing that step. Loupe Factory now reads orders straight out of the documents and photos you already receive, imports inventory from the spreadsheets you already keep, and hands any screen back to you as a CSV. The Shopify sync got its deepest rework since launch, and the interface got the pass it needed.
Scan the document. Review the order.
There is a Scan file button in the notes toolbar of every order screen: both AI order builders, the quick sales order, and the purchase order builder. Choose a customer PO, a supplier quote, or a photo of an order slip, and the scan reads the text into your notes. From there Loupe Factory pulls out the line items and puts them in a table you review before anything is saved.
-
A photo counts, not just a clean PDF
Photograph a handwritten order on the bench and send it straight in. Any phone, no converting and no emailing it to yourself first. The scan reads the page in front of it rather than matching a template it has seen before, so a written slip works the same way a typed document does.
-
We keep the text, not your file
The upload is read once and discarded. It is never attached to the order or written to storage, so a customer's pricing sheet does not quietly take up permanent residence in your account.
-
It adds to your notes, it does not replace them
Scanned text appends to whatever you have already written. Scan a second page and it joins the first. If a scan fails, or you close the window mid-read, your notes are left exactly as they were.
-
Nothing is saved until you approve it
Extracted products land in an editable grid. Fix a cell, delete a row, add one it missed. The order is built from what you sign off on, and you can print or download that grid as a CSV before you commit.
-
The manual path is still one click away
Choose Pick from inventory instead and build the order line by line from stock you already track, with live prices and images on every line.
Import inventory from the spreadsheet you already keep
In the inventory header, Add product to inventory now opens a menu with a second path: Import spreadsheets with AI. Upload a CSV, XLS, or XLSX and AI maps your columns onto Loupe Factory fields.
Your headers do not need to match ours. Name the column whatever your team already calls it. AI does the mapping.
Every row previews first. Double-click any cell to edit it. Flagged rows stay out of your inventory until they are fixed, and a retry does not need a re-upload.
Auto-merge stops the duplicates. Turn it on and matching items accumulate weight and quantity instead of creating a second record.
Built for real files. Up to 2,000 rows a sheet and 10 MB a file, with a sheet picker for multi-tab workbooks. Budget two to three minutes per 1,000 rows.
Every list is a CSV now
A request for numbers used to end with somebody rebuilding a spreadsheet by hand. Export now sits on the screen you are already looking at, and it exports what you are actually looking at, filters included. Here is where the button lives.
- Jobs in production
- Production reports, matching your filters
- Inventory flow graph on any item
- Production and fulfillment disposition
- Output by inventory type, with yield
- Sales orders and purchase orders
- Inventory overview and product details
- Customers, suppliers, and staff
-
Try the production reports export first
Filter by product, staff member, stage, order, issued inventory, and date range, then export exactly those jobs. One row per job, with issued and received weights, rejects, scrap, and waste already on it. It is the data behind the charts, not a summary of them.
-
A full material trace in one file
Open any inventory item, and Export production CSV on the inventory flow graph walks downstream for you. It returns every production job that consumed that lot or anything made from it, so a customer question about a single piece stops being an afternoon of digging.
Your Shopify storefront now speaks your catalog
The Shopify sync got its deepest rework since launch. The short version: your storefront now lists what you actually sell, priced and weighed the way you actually price and weigh it.
-
Carats stay carats
Shopify has no carat unit, so weights now convert on the way out. A 5 carat stone lists as 1 gram instead of 5, and every other unit maps through the same conversion table. Listed weights are per piece everywhere, so a listing no longer changes weight when lots merge or split.
-
Per-carat and per-gram pricing reaches the storefront intact
Your price basis is now honored on push. A rate held per carat is converted to the effective price for the piece being listed, rather than the raw rate being sent as if it were the price.
-
One listing per product label, not one per lot
Your product label is now the storefront identity and internal lot codes stay internal. Variants group by label and carry the summed quantity of every lot behind them, so shoppers see one clean listing with the real stock figure instead of a wall of tag numbers.
-
Pushed products go live
New products publish to the Online Store channel as part of the push instead of arriving unpublished and waiting for someone to notice.
-
Draft orders stop arriving twice
Completing a Shopify draft order now adopts the order you already have, keeping its number, its required date, and its line quantities, rather than importing a second copy alongside it.
-
Quieter plumbing underneath
Reconciliation runs on a nightly schedule, sync locks belong to the run that took them so a long sync cannot be interrupted by the next one, order budgets keep their cents, and the authorized, partially paid, and voided payment statuses now map to real statuses instead of falling through.
Already syncing with Shopify? Read this one.
Your first product push after this update re-sends every mapped variant once so the corrected weights and prices land. Where you previously had a separate Shopify variant per lot, those now consolidate into one variant per product label: the surviving listing takes the group totals and the duplicates are set to zero stock. Shopify does not let us delete remote variants for you, so remove the zeroed duplicates in your Shopify admin when you are ready. It settles after that first push.
You told us the interface needed more thought
That was fair, and it was the most useful feedback we got all quarter. We spent the month on it. The biggest rebuild is production job creation. Its three steps now guard each decision and show the stock consequence before you continue, instead of waiting until after saving to reveal a mistake.
-
See the stock consequence before you commit
Adding a job shows what each source loses in weight and pieces while you are still deciding. Issue by weight, by pieces, or both.
-
Units convert themselves
Issue in grams against a lot held in carats and the arithmetic stops being your problem. If stock moves under you mid-entry, the form recovers instead of failing.
-
Editing a job opens with the summary
The edit view leads with the change and its inventory impact. The detail sections stay folded until you want them.
-
Quieter inventory tables
Stocked out, rejected, and scrapped rows are hidden by default, each behind its own toggle. Rejects and scrap are now categorized and colored consistently everywhere they appear.
-
Fewer trips back to the list page
Create a customer, supplier, staff member, or size without leaving the modal you are in. The collapsed sidebar opens section flyouts on hover, so navigation no longer costs you a click.
-
The small things that add up
Product thumbnails on order line items, invitations that update live as people accept, clearer shipment tracking, your organization logo where it belongs, and a heavy layer of drop shadows removed across the app.
Where to start this week
You do not need a migration plan to try any of this. Take one real document and one real spreadsheet off your desk and put them through it.
-
Scan the last order a customer sent you
Open a sales order, press Scan file, and pick the PDF or the photo. Read the drafted table and correct anything it got wrong.
-
Import one sheet of stock
Use Import spreadsheets with AI on a single worksheet, leave your column names as they are, and check the preview before you confirm.
-
Export the screen you get asked about most
Filter a list the way you would for the question you answer every week, then press Export CSV and see whether the file settles it.
What it costs
Scans, imports, and summaries all draw on the AI credits that come with every plan and refresh each month. Starter includes 500 credits a month and costs nothing, so you can put a real document and a real spreadsheet through the workflow before you decide anything.
Launch pricing is available through August 31, 2026. Subscribe by then and your rate is locked for your current billing term: annual plans keep the launch rate for the full year, and monthly plans keep it through the current month. Renewals after launch pricing ends use the pricing in effect at renewal.
Bring one spreadsheet and one photo of a PO
That is the whole trial. Import your stock, scan a customer document, and see the order it drafts. Starter is free and needs no credit card. Professional and Business plans carry a 30-day money-back guarantee, with no contract and no setup fee.
Not sure your documents will read cleanly? Tell us the format your customers send and we will walk through it with you.