LinkyFlow for Odoo
The Odoo connection brings one Odoo database into Excel and the LinkyFlow web app: its accounting, its reports and setup, its sales and purchase orders, its partners and products, read from the external JSON-2 API of Odoo 19 and later. Load them as structured tables, analyse them with your formulas, and correct a draft, post it or reconcile a bank line without leaving the spreadsheet.
You need Odoo 19 or later, on a plan with access to the external API. Odoo's pricing lists that access on its Custom plan, not on One App Free or Standard. LinkyFlow has not been tested on those two plans, or on Odoo.sh. See the requirements.
Key capabilities
Invoices, bills and their lines
Invoices loads customer invoices and credit notes, vendor bills, refunds and receipts, with their state, payment state, partner, dates and totals, filtered by IDs, type, state, payment state, partner, journal, number, reference, invoice date or due date. Invoice Lines reads the lines that carry an amount: product, label, quantity, unit price, account, taxes. The tax and payable lines Odoo computes are in Journal Items.
Files
Invoice Attachments lists the original files of invoices and bills, and Accounting Document Attachments those of any document of the ledger: the PDF a supplier sent, a scan, a photo of a receipt. Each row has a download link that opens only for you. The PDF Odoo prints of an invoice is never listed. A photo that only a document's chatter holds is listed for the key of an administrator alone, as Odoo allows. A file above 4 MB is not downloaded through LinkyFlow: open it in Odoo.
Journal entries and the ledger
Journal Entries reads miscellaneous entries, Accounting Documents every document of the ledger whatever its type, and Journal Items each debit or credit on an account, with its entry, partner, product and reconciliation.
Payments
Payments reads customer and vendor payments: amount, partner, journal, state and whether they are matched.
Bank lines and their reconciliation
Bank Statement Lines reads the transactions of your bank and cash journals. Bank Reconciliations shows each line with what would reconcile it: the open items it matches, or those you name, the general accounts you name or that comparable lines were booked on, the amount each takes and the entry it would leave. Bank Unreconciliations shows what undoing a match would do. Reading them changes nothing.
Reports
Trial Balance sums the posted journal items by account over a period. Partner Balances sums the open receivables and payables by partner, overdue as of a date if you ask. These are Odoo's sums, never a total LinkyFlow computes.
Accounting setup
Read Accounts, Journals, Taxes, Payment Terms, Fiscal Positions, Currencies, Currency Rates, Analytic Accounts and Analytic Plans.
Sales and purchases
Sales Orders and Purchase Orders read quotations, requests for quotation and orders with their state, dates and totals, and Sales Order Lines and Purchase Order Lines their lines. They need the Sales and Purchase apps installed in your database.
Partners and products
Partners reads customers and vendors, companies and the people under them. Products reads each variant with its internal reference, barcode, prices and category, and Product Categories the categories.
Edits published back to Odoo
From rows or the Actions pane, with the rights of the key's user. An action, and any delete but a bank line's, is offered only when the state of the record allows it, and every write is read back from Odoo.
- Invoices and bills: create a draft, update it, add, correct and remove its lines while it is a draft. Post Invoice, Register Payment, Create Credit Note, Adjust Tax Amount, Cancel Invoice, Reset Invoice to Draft, Delete Draft Invoice. A vendor receipt is read, corrected and posted, never created.
- Journal entries: create a draft with balanced lines, update it. Post Journal Entry, Update Journal Entry Lines, Reverse Journal Entry, Cancel Journal Entry, Reset Journal Entry to Draft, Delete Draft Journal Entry.
- Payments: create a draft, update it, delete it. Confirm Payment, Cancel Payment, Reset Payment to Draft. Registering or confirming a payment books it in Odoo and moves no money.
- Bank lines: create, update, delete. Reconcile Bank Line rewrites the line's entry as Odoo's own reconciliation does, never a payment, so the money is not booked twice. Undo Bank Reconciliation takes it back.
- Setup: create and update accounts, analytic accounts and currency rates.
- Sales and purchases: create a quotation or a request for quotation with its lines, update it, delete it. Confirm Sales Order, Confirm Purchase Order, Cancel Purchase Order.
- Partners and products: create and update. They are archived, never deleted.
What you can do:
- Load your accounting, sales and purchases as Excel tables, 100 rows per page by default and up to 200, or the pages in a row with All results
- Filter before loading, so you only pull the slice you need
- Read a table in a cell with the
=LF.odoofunctions, which never write - Correct draft lines in bulk from rows, and post them from the Actions pane
- Read and work on the same database from ChatGPT or Claude through MCP
With ChatGPT or Claude
MCP reaches Odoo through its generic provider tools. provider_find_reads and provider_read serve the 29 queries, and provider_find_actions and provider_execute_action most of the writes.
- Nine are previewed first with
provider_preview_actionand run only with the token of that preview: a tax adjusted, a bank reconciliation and its undoing, an invoice or a journal entry put back to draft, a journal entry reversed, a draft invoice or journal entry removed, an invoice line removed. - Six stay in Excel and the web app: Create Credit Note, Reset Payment to Draft, and deleting a bank line, a payment, a sales order or a purchase order.
provider_read_filesends a file to the model. Whether the model reads it depends on the client: where it cannot, the download link is what you get.
What it does not do
- No LinkyFlow agent works on Odoo.
- The MCP business tools such as
commerce_*do not work on Odoo. - Custom fields (
x_…) are not read. - The user's default company applies: there is no company setting.
- A bank line or an item in a currency other than the company's is refused: reconcile it in Odoo.
- A file is attached through the API or an AI assistant: ChatGPT takes up to 4 MB, a client without file upload a few hundred KB. The web app and the add-in have no file picker.
Amounts are the numbers Odoo answers, in the currency of the document. Odoo computes taxes, totals and reconciliations, never LinkyFlow.
Next steps: