Skip to Content

Sales Order Import from Customer PO

A customer sends a purchase order, and someone retypes it into a quotation: code by code, quantity by quantity. It takes minutes that nobody has, and every transcription is a chance to get a price wrong.

Who is it for

Companies whose customers order by sending their own purchase order, in whatever shape it arrives.

How it works

  • Upload the document you received: a PDF, a scan, a photo, a spreadsheet, or simply paste the text of the e-mail.
  • Check what was understood: the customer, the references, the dates, and every line with its own status.
  • Settle whatever was uncertain, and the draft quotation is created for you.
  • It remembers your customers' article codes, so from the second order on the lines map themselves.

The result: Orders encoded in seconds instead of minutes, fewer mistakes on codes and prices, and never a quotation confirmed behind your back.

0.00 € 0.00 €

 Per maggiori info sui nostri moduli non esitare a contattarci

Sales Order Import from Customer PO

Create quotations by digitizing the purchase order your customer sent you

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. It 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 a single 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 offered 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 your terms and conditions: 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.

Developed by STeSI Consulting — Francesco Moccia <moccia.f@stesi.consulting>