How to create a return sales order in Odoo from a retailer's PDF return note
The manual steps distributors follow to book a Goods Return Note in Odoo 16, 17 and 18, where the time goes, and how to automate the whole thing.
A key account sends you a Goods Return Note (GRN) as a PDF. Twenty lines, each with a barcode, a quantity and a unit price. Somebody now has to turn that PDF into an Odoo document that puts the stock back and credits the retailer. Here is what that takes by hand, and what it takes with Odoomation.
The manual route in Odoo
- Open the original sales order or delivery for that retailer and check the returned products were actually invoiced.
- Create a new quotation for the retailer. For each line on the PDF, search the product by barcode, enter the quantity as a negative number and type the unit price from the note.
- Confirm the quotation. Odoo generates an incoming transfer for the negative lines, which is the physical return.
- Validate the transfer once the warehouse has counted the goods.
- Create a credit note (Accounting → Customers → Credit Notes) referencing the return note number, or invoice the negative order.
- File the PDF somewhere so audit can find it later.
With twenty lines that is roughly ten to fifteen minutes when nothing goes wrong. It goes wrong often: a barcode that matches two variants, a product the retailer lists under an old code, or a return note that was already entered last week by a colleague. Each of those is a phone call or a spreadsheet.
Where the time really goes
- Product lookup: barcodes have to be typed or scanned one by one, and the search field does not tell you when a barcode is shared by several variants.
- Duplicate checks: nothing in a standard Odoo flow stops the same GRN being booked twice under two different reference formats.
- Reconciliation: the credit note must match the return order line by line, or finance will bounce it back.
- Peaks: returns arrive in batches after promotions, precisely when the sales admin has the least time.
The automated route
Odoomation reads the PDF with a template built for that retailer's layout, anchored on the barcode column so a shifted header never drops a line. Every barcode is looked up live in your Odoo. Lines that match one product are marked ready; lines with several matches or no match get an inline picker. If the return note number already exists in Odoo, the import is flagged as a duplicate before anything is created.
After you review the lines, one click creates the return sales order in Odoo. You choose how far to go: leave it as a draft quotation, confirm it, validate the incoming transfer, and draft the credit note. Every import is logged with a fingerprint of the PDF and a deep link to the Odoo order.
Nothing is installed on your Odoo. Odoomation talks to the standard JSON-RPC API with a dedicated user and API key, on Odoo Online, Odoo.sh or self-hosted 16, 17 and 18.
What to check before you automate
- Barcodes are filled in on your product variants. Matching is only as good as your catalogue.
- Each key account has one contact record in Odoo that the return orders should be created under.
- You know which retailer layouts you receive. Send one sample of each and Odoomation builds the template, at no cost, before your trial starts.
Send us one PDF and get it back as an Odoo return order within 48 hours. No sign-up.