Skip to content
BlogProduct Updates

How to Prepare an Excel Inventory Sheet for Bulk Import

How to prepare an Excel inventory sheet for bulk import: one tab, one header row, clean VIN and price columns, and a review pass that stops workbook traps from becoming live listings.

PostToMarket Team9 min read
How to Prepare an Excel Inventory Sheet for Bulk Import

The buyer's laptop still has last week's wholesale sheet open. Tabs named "RUN," "SOLD," "Copy of Copy of LOT," and a pivot the intern built in March. Prices live in a column formatted as currency, mileages are stored as text, and the VIN column is actually a formula that points at another workbook on a shared drive that is not open. Someone saves it as "final-final.xlsx" and uploads. Bulk import from Excel is only as honest as the sheet. Preparing the workbook is the job; the upload is the last click.

This guide is for used-car managers and independent operators who live in Excel because that is where the lot actually exists. PostToMarket accepts bulk Excel import alongside CSV, with import history and a row-level error log. The steps below are about making the workbook boring: one tab of vehicles, values instead of formulas, and fields a posting tool can trust. For the field-level checklist that also applies to CSV, use A Pre-Import Checklist for Your Vehicle CSV File in parallel.

A clean Excel sheet does not guarantee Facebook will distribute the listings that follow. It reduces the operational mistakes that turn a bulk import into a public data error.

Start With One Tab and One Header Row

Excel fails imports for reasons CSV users never see. Workbooks hide structure.

Kill the extra architecture

Before you think about VINs:

  • Keep one worksheet of retail units. Move sold, wholesale, and recon to other files, or to tabs you will not upload.
  • Delete title rows, merged cells, dealer logos, and "Inventory as of…" banners. Merged header cells are a classic "where did the columns go" failure.
  • One header row. No stacked headers ("Vehicle" over "Year / Make / Model").
  • Freeze panes if you like; they do not belong in the data. Filters are fine while you clean. Clear them before you save the upload copy.
  • Hidden columns still exist. Unhide everything. If you do not want a column imported, delete it from the upload copy rather than hiding it.

Turn formulas into values

A VIN that is =VLOOKUP(...) is not a VIN. It is a dependency.

  1. Copy the data range.
  2. Paste values onto a fresh sheet named something obvious (UPLOAD).
  3. Confirm VINs, prices, and mileages are static.
  4. Break links to other workbooks. External links are how a sheet looks complete on your machine and empty on the manager's.

If you must keep a working file with formulas, never upload that file. Upload the values-only copy. Date the copy. Import history will show when it arrived; your folder should still be able to produce the same file.

Watch Excel's helpful type guesses

Excel "helps" in ways that wreck inventory:

  • VINs that start with numbers may be stored as numbers and lose a leading character, or display in scientific notation.
  • Long numeric strings get rounded. A VIN is not a number. Format the VIN column as text before pasting, or prefix with a method that preserves every character.
  • Dates in a year column (2019 becoming 7/8/1905 or similar, depending on the workbook) mean the year field is not a year.
  • Prices with $ and commas may be fine if they are true numbers, or may be text that will not parse. Be consistent. Prefer a raw number in the price column.
  • Leading/trailing spaces in make and model (" Ford") create duplicate-looking trims and sloppy titles.

Scan the first twenty rows and the last twenty. Problems cluster at the top (header leftovers) and the bottom (totals rows, "END OF FILE," a grand total of asking prices).

How to Prepare an Excel Inventory Sheet for Bulk Import: Column by Column

Treat this as a build spec for the UPLOAD tab.

Required commercial fields

  • VIN — text, complete, unique per row.
  • Year, make, model, trim — spelling normalized. "CHEV" and "Chevrolet" should not coexist unless you like two brands in analytics.
  • Mileage — integer, no "miles" suffix, no commas required.
  • Price — the listed cash price you will honor. Not "Call." Not a financed example payment.

Stock number is not required for Marketplace, but it is how humans find the car on a 60-unit lot. Keep it.

Useful spec fields

Drivetrain, transmission, engine, body style, exterior color, interior color. These feed AI-generated titles and descriptions. Empty specs produce generic copy. Wrong specs produce copy you will be embarrassed to leave live. If you do not trust a column, clear it rather than importing fiction.

Columns you should not upload

  • Buyer names, phone numbers, or previous owner PII
  • Deal numbers and lender data
  • Cost, pack, and holdback
  • Recon RO notes that include vendor complaints
  • "Don't tell the customer" comments

Internal notes belong in a working workbook, not in a file that will generate public listing text. If you need an operational flag, use a simple status column: retail, recon, hold, sold. After import, those units can sit as drafts. They should not be in the posting queue.

A compact layout you can reuse

ColumnContentNotes
vin17-character VIN as textNo formulas
yearFour-digit yearNot a date
makeNormalized makeOne spelling
modelModel nameNo pack codes
trimTrim you will advertiseMust match the unit
mileageIntegerNo TMU
priceInteger dollarsNo $1 bait
stockInternal stockOptional but useful
statusretail / recon / hold / soldFilter before queue
colorExteriorOptional

You can name columns differently as long as they are obvious and unique. Duplicate header names ("Price" twice) are how values land in the wrong field.

Review Passes That Catch Workbook-Specific Failures

After structure and columns, run three passes that are faster in Excel than after import.

Pass one: duplicates and blanks

  • Data filter for blank VIN, blank price, blank year.
  • Conditional highlight on duplicate VINs.
  • Remove the totals row. A "sum of prices" row will try to become a vehicle.

Duplicates in the sheet become duplicate risk on Marketplace. Resolve them to one row per VIN before upload. If two rows are the same car from DMS and from a wholesale add, keep the row you will actually sell from.

Pass two: sanity on numbers

Sort by price. The $1 unit and the extra-zero unit will jump out. Sort by mileage. Sort by year. You are not looking for a statistical model. You are looking for the one row that is obviously wrong.

Consider a lot with 40 units in the workbook: if three have prices below a round number that cannot be real in your market, stop and read those rows. If one 2012 sedan shows 12 miles, it is probably 12,000 or 112,000. Do not guess in the listing; confirm on the odometer or pull the unit from the upload.

Pass three: text that will become listing language

AI titles and descriptions start from specs. If the model cell says F150XLT4X4CREWCAB the draft will fight you. Human-readable values in Excel mean less rewriting in the queue. Replace internal shorthand. Keep trim names a buyer would recognize.

Then save:

  1. File name with date and "upload" in it.
  2. .xlsx (or export CSV if you prefer that path; do not do both for the same batch unless you like duplicate imports).
  3. Upload once. Open import history. Read the row-level error log.

Import history and row-level error logs is the post-upload companion. Preparation does not make the log optional.

Capture is not a substitute for a dirty workbook

If part of the lot was bought at auction, capturing vehicles from auction and wholesale sites into inventory can be cleaner than retyping from a messy Excel tab. Capture still needs a walkaround and a photo pass. Do not use capture to bypass a workbook you could have cleaned in twenty minutes, and do not import the same VINs from Excel after you captured them.

How PostToMarket Automates This

Preparing an Excel inventory sheet is still a human job. Bulk import fails when the workbook is a working document instead of an upload artifact. PostToMarket takes over after the sheet is boring.

  • Bulk Excel and CSV import so the UPLOAD tab becomes inventory without retyping.
  • Import history tied to that upload, so "which workbook did this Camry come from?" has an answer.
  • Row-level error log for VINs, prices, and other rows that cannot be accepted.
  • Unlimited inventory and statuses (draft, posting, posted, sold, failed) so recon and hold rows can live in the system without posting.
  • AI-generated titles and descriptions from the specs in the sheet, editable before posting — which is why year/make/model/trim in Excel have to be real words.
  • Auction and wholesale capture as a second intake path when the unit is not in the workbook yet.

None of that maps columns for you in a hidden DMS integration. There is no DMS connection to claim. You prepare the sheet; the import records what happened.

Put the Next Workbook Through a 10-Day Trial

If your lot currently lives in Excel, the shortest path to a posting queue is not a new process religion. It is one values-only tab, a duplicate-VIN pass, and an import you can audit. Prepare the sheet once this week and you will reuse the layout every week after.

Starter at $59 per month is one login, unlimited vehicles, and bulk Excel import for a solo seller or independent lot. Dealership at $299 per month gives you up to 13 logins so a manager can own the workbook and floor staff can work from queues instead of from email attachments. The 10-day free trial is enough to run a real file, not a toy file.

Start your 10-day free trial with secure Stripe checkout. Upload the cleaned workbook, read the error log, and only then queue what is actually on the lot. Cancel anytime. Support: info@posttomarket.com.

Related articles

Product Updates

A Quarterly Process Review for Your Posting Workflow

A quarterly process review for your posting workflow: roles, imports, queues, last look, sold hygiene, and analytics — a half-day agenda that resets the store without a new slogan.

PostToMarket Team