← All use cases

Loading products and data into Odoo

Bulk data entry is the work nobody budgets for and everybody ends up doing. A catalog of several thousand products with variants, vendor price lists that change quarterly, opening balances at go-live, a bank statement that needs matching against recorded payments.

The volume isn't really the problem. The problem is that the source data is messy in ways you only discover part-way through — inconsistent units, a supplier who spells the same product three ways, a column that's a date in some rows and text in others.

CodeCobra reads the file you have rather than the file you wish you had. It reconciles what it can, tells you what it couldn't, and loads the rest. You get the exceptions as a list to decide on, instead of a silent partial import you find out about in a month.

Attach the spreadsheet to the conversation and describe what it is. That's usually the whole brief.

What people asked, and what came back

Real production requests, condensed and with anything identifying removed.

BuyerDistribution
Create the master product with all forty variants from this vendor sheet.

What happened: Built the master product and all 40 variants with vendor codes and pricelist entries — staged first for review.

ControllerEvents
Can you create this bank statement in Odoo for me? It starts on page 43 of the PDF.

What happened: Read the statement from page 43 onward and created the bank statement in Odoo, line by line.

BuyerImport & wholesale
Please create a variant of this bed in the 39-inch size and the new colour.

What happened: Created it — and when a lookup returned 57 matching products instead of the 45 it knew about, it stopped, found its own query was missing the vendor filter, and redid it.

BuyerDistribution
Archive these 122 invalid variants.

What happened: Archived them in staging first, confirmed nothing referenced them, then applied the change to production.

BuyerDistribution
Update these 28 products with the new vendor pricing and specs.

What happened: Updated all 28 with costing, capacity and freight — then re-ran the freight calculation across six more it found affected.

More requests in this category

  • Import this vendor's new price list and bump our sale prices to keep the margin.Buyer · Wholesale
  • Load the last three months of bank statements from these PDFs.Controller · Manufacturing
  • Create variants for all 12 colours of this product line, with their UPCs.Buyer · Retail
  • Merge these duplicate customer records and keep both histories intact.Consultant · Publishing
  • Set up the new vendor with their catalog, lead times and payment terms.Buyer · Distribution
  • Import the BoMs for the new product family from this spreadsheet.Operations · Manufacturing

What file formats can I give it?

Spreadsheets and CSVs are the common case; PDFs and other documents work too when that's what the supplier sent. Attach the file to the conversation.

What happens to rows it can't match?

They come back to you as an explicit list with the reason, rather than being silently skipped or guessed at. Deciding what a genuinely ambiguous row means is your call, not the software's.

Can I test the load before it touches real data?

Yes. Point the task at a staging database, or set the connection to Read while you agree the mapping, and switch it to Write only when you're satisfied.