Skip to Content

Sales Order Import from Customer PO

Stop retyping your customers' purchase orders

When a customer sends you an order — a PDF, a scan, a spreadsheet or just an e-mail — you upload it and the quotation writes itself. You review what was understood, settle anything that was ambiguous, and confirm.

What you get

  • Orders encoded in seconds instead of minutes, whatever the layout of the customer's document.
  • Fewer transcription mistakes on codes, quantities, prices and discounts.
  • It learns your customers' article codes: from the second order on, the lines map themselves.
  • Nothing is ever confirmed behind your back: every quotation is created as a draft for you to check.

How it fits your work

The import starts from the quotations list, where your salespeople already work. The original document stays attached to the quotation, so anyone can check later what the customer actually asked for.

Available in Italian and English.

0.00 € 0.00 €

 Per maggiori info sui nostri moduli non esitare a contattarci

From the customer's purchase order to your quotation

Your customer sends a purchase order. You upload it, the document is read for you, you check the result, and Odoo creates the draft quotation. The module accepts PDF files, scans and photos, spreadsheets (xlsx, xls, ods, csv), text files and the plain body of an e-mail.

It runs on the standard Odoo 19 AI module with your own provider key: no OCR service, no metered credits, no extra software to install.

How it works

StepWhat happens
1. UploadAttach the purchase order received from the customer and, if useful, paste the text of the e-mail.
2. ReadingThe document is read in one pass and returns the header, the two companies involved and the order lines.
3. ReviewYou see the customer, the references, the dates, the delivery address and every line with its own status. Anything uncertain is flagged.
4. CreationThe draft quotation is created, the source document is attached to it, and a note in the chatter says exactly what deserves a second look.

Every line carries one of three statuses you can act on at a glance: matched, to confirm, or to complete.

It tells your customer from yourself

A purchase order is written by the buyer but addressed to the seller, so the most prominent address block on the page is usually yours, not your customer's. Getting this wrong means booking the quotation on the wrong account, so the decision is never left to the language model: the model only reports where each company name is printed, and the module decides the roles from those observations.

  • A company the document labels as the supplier is excluded outright.
  • Your own company can never end up as the customer.
  • Company names are compared ignoring the legal form, so a document printing BIANCHI INDUSTRIALE S.p.A. finds the customer recorded as Bianchi Industriale SpA — but only when the match is unambiguous.

It learns your customers' codes

Each line is resolved in cascade: the article code already learnt for that customer, then your own internal reference or barcode, then the exact description, then a similar description as a suggestion to be confirmed. What is left unresolved falls back to a placeholder product of your choice, keeping the wording of the customer document.

Every product you pick by hand is stored against the article code of that customer, so the next order maps itself. Two limits keep that table trustworthy: a suggestion is never learnt until you confirm it, and only lines carrying an article code are learnt at all. The learnt codes stay visible and editable under Sales, Configuration, Customer Article Codes.

What it will never do

  • Confirm a quotation on its own: the order is always left as a draft.
  • Invent master data: an unknown customer or an unrecognised delivery address is reported, never created on a guess.
  • Overwrite the terms and conditions of your quotation: the instructions found on the customer document are posted in the chatter instead.
  • Lose the evidence: the original document is attached to the quotation.

Configuration

SettingPurpose
Reading modelWhich AI model reads the documents.
Fallback productProduct proposed for the lines whose article was not identified. Can be changed at every import.
Maximum PDF pagesHow many pages are sent for long purchase orders.
Suggestion thresholdHow similar a description must be before a product is suggested.

Requirements

Odoo 19 Enterprise with the Sales application and the standard AI module, plus an AI provider key configured in the system parameters. Interface and messages available in Italian and English.

Credits

STeSI Consulting — Francesco Moccia — moccia.f@stesi.consulting