Fix invoice lines in a spreadsheet

Export a supplier invoice's product lines to CSV, correct the SKUs and descriptions in Excel or Sheets, and import them back. Rows are matched on a Line ID, so you can sort and filter freely.

Updated 22 August 2026

A supplier invoice usually carries the supplier's product codes, not yours. On a document with a hundred lines, correcting them one at a time in the products table is not a realistic afternoon.

So export the lines, fix them in the spreadsheet you already use, and import the file back.

Do this before you calculate. Once a shipment is calculated, its cost layers are written under whatever SKU the line carried, and correcting the SKU afterwards means re-keying layers that may already have costed sales.

Why the SKU matters more than it looks

Your Shopify SKU is what the cost ledger runs on. Shopify reports every sale and every stock movement under it, and Landara joins your cost layers to those movements on that code alone.

If a cost layer is filed under the supplier's code, nothing ever depletes it. Your valuation climbs forever while those sales report as costing nothing, and no error is raised at any point. It surfaces months later as COGS that will not reconcile, with nothing on screen to explain it.

That is the whole reason this screen exists.

Export, edit, import

  1. Open the shipment and find the Products table.
  2. Click Fix in a spreadsheet, then Export. A CSV downloads.
  3. Open it in Excel, Numbers or Google Sheets and correct the Shopify SKU and Description columns.
  4. Save as CSV, then click Import edited file.
  5. Check the summary Landara shows you, then click Apply these changes.

Nothing is written until you click Apply. The step before it is a summary of exactly what will happen, row by row.

The columns

| Column | Required | What to do with it | | --- | --- | --- | | Line ID* | Yes | Leave it exactly as it is. This is how Landara knows which line a row belongs to. | | Shopify SKU* | Yes | Edit this. Put your store's SKU here, the one Shopify sells the product under. | | Description* | Yes | Edit this. The product name as you want it recorded. | | Current SKU | No | Read only. The code printed on the supplier's document. | | Qty | No | Read only. | | Unit Price | No | Read only. | | Remember SKU | No | yes or no. See below. Blank counts as yes. |

Columns marked with an asterisk are required: if the file is missing one, Landara refuses it and names the one it could not find. The asterisk is decoration, so you can delete it while you are tidying headings and the file still imports.

You can sort, filter, group and reorder the rows as much as you like. Landara matches every row on its Line ID and never on the order rows appear in. Sorting a hundred lines by description to fix them in blocks is exactly what this is for.

Do not delete the Line ID column

It is the only thing tying a row back to a line on the document. Without it, a row cannot be applied to anything, and Landara will not guess. Rows with a blank Line ID are reported and skipped, and rows whose Line ID is not on this document are reported and skipped too. Neither is ever added as a new product.

If none of the Line IDs match, Landara tells you the file looks like it came from a different document rather than listing a hundred unknown rows.

The read-only columns are checked, not ignored

Current SKU, Qty and Unit Price are exported so you can tell two similar lines apart. They are not inputs.

If you change one of them, Landara refuses the whole import and names the rows, rather than applying the SKU changes and quietly dropping the rest. A quantity you fixed in a spreadsheet and never saw applied is worse than an import that stopped and told you.

Correct quantities and prices in the products table on the shipment instead. That is where they can be checked against the total printed on the document, which is the check that catches a misread quantity in the first place. See Check a shipment before you calculate.

Spreadsheet formatting is not treated as an edit. 1,200, $1,234.50 and 1234.5 all read as the same number, so a currency format you applied while reading the file will not block the import.

Remembering the pairing

When you change a line's SKU, Landara has learned something durable: this supplier's code LAB57 means your LAB-ADC-250.

By default it saves that as a supplier SKU link, so the next invoice from the same supplier arrives with the SKU already resolved and you do not do this work twice. Set the Remember SKU column to no on any row where the change is a one off typo rather than a real mapping.

You can see, edit and delete every saved link on Dashboard → COGS → Cost Layers.

A saved link is silent once it exists. It raises no error and shows no badge, so a wrong one is invisible until it has been filing receipts under the wrong SKU for months. That is why Landara checks every SKU you import against your live Shopify catalogue and holds back anything it cannot find.

When two lines share a supplier code

If the same supplier code on two lines is pointed at two different Shopify SKUs, Landara corrects both lines and saves no link for that code. One supplier code cannot mean two products, and picking one would be silently wrong for the other.

What the summary tells you

Before anything is applied you get a count of each outcome:

  • SKU corrected and Description corrected: what will be written.
  • supplier SKU link remembered: what will be saved for next time.
  • unchanged: rows in the file that already match the document.
  • on the document but not in the file: lines you left out. These are left exactly as they are, never deleted.
  • held back: rows that will not be applied, each with the reason. A SKU not in your Shopify catalogue, a Line ID that is not on this document, the same Line ID twice, or a required cell you cleared.

If your Shopify catalogue cannot be read at that moment, Landara says so rather than reporting every row as unknown. The import still works; it just has not been able to check the SKUs for you.

After you import

Check the products table, then calculate the shipment as normal. If you have already synced this shipment's costs to Shopify, correct the lines first and sync again.

Related articles

5.0 from 4 reviews on the Shopify App Store
Landara has made it much easier to keep track of my actual product costs. I really like that it takes things like shipping and duties into account instead of just showing the basic cost. Simple app, easy to use, and I’m already getting a much clearer idea of my real margins.
Panther Products
Verified review on the Shopify App Store
I installed Landara because I was getting tired of guessing what my inventory was actually costing me. What I liked most was being able to see the product cost together with things like shipping and duties, I've been trying to keep a closer eye on my margins, so having those costs in one place has made things much easier for me. It didn't take me long to get setup either, which was a nice bonus.
Linssan Inc
Verified review on the Shopify App Store
I honestly didn’t expect Landara to make this part of my store that much easier. I installed it mainly to get a better handle on my actual product costs, and I was pleasantly surprised by how everything comes together. I’m still exploring it, but so far it’s been really useful and I’m impressed with how it works.
BLIS FULL SKIN
Verified review on the Shopify App Store
I've just started using Landara, and so far I'm impressed with how it handles landed costs. I especially like being able to account for things like freight and duty instead of treating the supplier price as the whole cost. Still exploring the app, but it already looks like it could save me a lot of spreadsheet work.
Tollpatsch Stoffe und Handmade
Verified review on the Shopify App Store
Read the reviews on the Shopify App Store

Know your true costs

Landara extracts your documents and costs every order automatically. Start free.