Tanya Odoo dengan bahasa sehari-hari. Tidak ada yang berubah tanpa persetujuan Anda.
Good morning.
What can I do for you this time?
Answers come from gemini-3-flash-preview, which runs in the cloud at Google (Vertex AI), not on your premises. Your questions and the Odoo data ODXPilot reads, with sensitive fields masked, are sent there.
- Which customer invoices are still unpaid?
- How many sales orders did we confirm this month?
- Who are our biggest customers this year?
- Which companies are set up in this database?
Dibangun di atas MCP
ODXPilot dibangun di atas server MCP yang dibuat khusus untuk Odoo.
Setiap pencarian ke Odoo melewatinya. Hak akses diperiksa oleh kode sebelum permintaan sampai ke Odoo, dan field sensitif disamarkan sebelum AI melihat jawabannya.
AI
Meminta data yang dibutuhkan untuk menjawab. AI tidak memegang kunci Odoo.
Server MCP untuk Odoo
Memeriksa permintaan terhadap peran orang yang bertanya, menolak yang tidak diizinkan, menyamarkan field sensitif dalam jawaban.
ODXProxy
Meneruskan pencarian ke Odoo lewat v1 atau v2.
Odoo Anda
Aturan akses Odoo sendiri tetap berlaku.
AI tidak pernah memanggil Odoo secara langsung. Server MCP berjalan di dalam stack ODXPilot Anda dan tidak dibuka untuk tool AI dari luar. Cara kerjanya
Yang bisa dilakukannya hari ini
Hari iniPertanyaan yang diajukan tim Anda setiap minggu, dijawab dari Odoo.
Faktur yang belum dibayar, penjualan bulan ini, pelanggan terbesar Anda. Tanpa membuat laporan, tanpa merapikan hasil ekspor: tanyakan, periksa bagaimana jawabannya didapat, lalu bawa angkanya ke Excel.
Gemini · gemini-3-flash-preview
Runs in the cloud at Google (Vertex AI), not on your premises. Your questions and the Odoo data ODXPilot reads, with sensitive fields masked, are sent there.
- Which customer invoices are still unpaid?
- 3 lookups in Odoo
- Where this is kept in Odoo
- Fields of account.move
- Search in account.move
6 customer invoices are unpaid, IDR 184,250,000 in total. Five are overdue. The oldest is INV/2026/0412 to CV Kopi Lereng, due 3 Oct, 39 days overdue.
Invoice Customer Due Amount due (IDR) INV/2026/0412 CV Kopi Lereng 3 Oct 38,500,000 INV/2026/0437 PT Arunika Retail 14 Oct 52,000,000 INV/2026/0451 Toko Sinar Pagi 21 Oct 9,750,000 INV/2026/0463 PT Batu Kali Logistik 30 Oct 41,200,000 INV/2026/0478 CV Kopi Lereng 7 Nov 18,300,000 INV/2026/0490 PT Daun Hijau Farma 20 Nov 24,500,000 - Send me that in Excel
- 1 lookup in Odoo
Here it is: one sheet, with the total at the bottom.
Unpaid invoices November 2026.xlsxExcel · 18 KBDownload
Bertanya seperti ke rekan kerja
Dengan kata-kata Anda sendiri, termasuk dalam bahasa Indonesia. ODXPilot mencari tahu di mana jawabannya berada di Odoo dan membaca field sesuai yang ada di database Anda, termasuk field kustom.
Ia menunjukkan cara kerjanya
Setiap pencarian yang dilakukan dicantumkan di bawah jawaban. Apa pun yang tidak boleh dibacanya ditandai beserta alasannya, sehingga Anda tahu dasar dari jawaban itu.
Excel saat Anda membutuhkannya
Minta spreadsheet, dan Anda mendapatkannya: satu sheet per kueri, tanggal dan angka yang sebenarnya, beserta totalnya. Baris datanya masuk ke file, bukan ke AI.
Tugas mengikuti prosedur Anda
Minta ia mengerjakan sesuatu, dan ia menguraikan langkah-langkah dari prosedur perusahaan Anda yang sudah disetujui, atau memberi tahu bahwa tidak ada yang cocok.
Prosedur Anda
Hari iniIa mengikuti prosedur Anda, atau berhenti dan bertanya.
Saat seseorang meminta ODXPilot untuk mengerjakan sesuatu, ia lebih dulu mencari prosedur (SOP) perusahaan Anda yang sudah disetujui untuk operasi persis itu. Jika ada yang cocok, ia menguraikan langkah-langkahnya sebagai rencana. Jika tidak ada, ia memberi tahu Anda, alih-alih berimprovisasi dalam urusan akuntansi.
Ada prosedur yang cocok
- Register the payment for the oldest unpaid vendor bill.
- 4 lookups in Odoo
- Your company's procedure for this
- Procedure vendor-payment
- Where this is kept in Odoo
- Search in account.move
Following your approved procedure Register a vendor payment (version
29828a95): the oldest unpaid bill is BILL/2026/0087 from PT Kayu Manis Supplies, IDR 42,800,000, due 28 Oct.- Open the posted bill.
- Register the payment from the bank journal, full amount, today’s date.
- Reconcile it with the bank statement line when it arrives.
Tidak ada prosedur yang cocok
- Cancel the posted vendor bill BILL/2026/0087.
- 1 lookup in Odoo
- Your company's procedure for this
No approved procedure covers cancelling a vendor bill. The closest are: Record a vendor bill · Register a vendor payment.
How would you like to proceed?
Ditulis oleh tim Anda sendiri
Akuntan Anda menulis aturan bisnisnya, developer Anda menulis catatan teknisnya, di ODXDocs. ODXPilot tidak datang dengan prosedur bawaan: prosedur Anda tetap milik Anda.
Versi yang persis sama, setiap kali
Setiap versi yang dipublikasikan disimpan. ODXPilot menyebutkan prosedur dan versi yang diikutinya, sehingga Anda bisa memeriksa apa yang diperintahkan kepadanya.
Tidak cocok, tidak menebak
Pertanyaan tidak memerlukan prosedur. Tugas memerlukannya. Jika tidak ada yang sesuai untuk operasi persis itu, ODXPilot mengatakannya dan bertanya, alih-alih berimprovisasi.
Tempat tim Anda menulisnya: ODXDocs
Prosedur ditulis dengan bahasa biasa di editor ODXDocs, yang dibuka tim Anda di browser pada komputer atau server sendiri setiap kali ada yang perlu ditambah atau diubah. Tidak ada akun yang perlu dikelola, dan tidak ada yang berlaku sebelum diuji.
Standard operating procedures
Written together by accountants and developers. The automation agent finds them through ODXBrain once they are published, and follows them as written.
| SOP | Status | Applies to | Intents |
|---|---|---|---|
| Register a vendor paymentvendor-payment · 29828a95 | Live | account | 5 |
| Record a vendor bill from a received purchase ordervendor-bill-from-po · c41e07a2 | Live | 17.0+, Enterprise, account, purchase | 3 |
| Withhold PPh 23 on a vendor paymentvendor-payment-pph23 · 7b3f19d0 | Changededited since it was published | account, l10n_id | 4 |
| Reimburse an employee expenseexpense-reimbursement · e90a4c16 | Live | hr_expense | 5 |
| Send a reminder for an overdue customer invoicecustomer-payment-reminder · 5d2b8e47 | New | account | 3 |
| Close the books for the monthmonth-end-close · a17c62f9 | Live | account | 4 |
Lihat apa yang sedang berlaku
Semua prosedur dalam satu daftar, ditandai berlaku, berubah, atau baru dibandingkan dengan yang sudah dipublikasikan, beserta kondisi berlakunya: versi dan edisi Odoo, aplikasi yang terpasang, perusahaan.
- pay an open vendor bill
- register a payment to a supplier
- record an outgoing payment for a vendor bill
- settle what we owe a vendor
- mark a supplier bill as paid by bank transfer
## Business rules (Accountant) - Pay only posted bills. A draft bill is not a debt yet. - Pay from the bank journal the vendor's contract names; when it names none, use the operating account. - If the vendor provides a service subject to PPh 23, follow "Withhold PPh 23 on a vendor payment" instead. ## Technical notes (Developer) - Use account.move.action_register_payment, so the payment is reconciled with the bill. - Ask the user to confirm the amount and journal first.
Ask the way the agent would. Ranks this draft, unsaved edits included, against every other SOP in the folder with ODXBrain’s own embeddings. Nothing is published.
- 1Register a vendor payment0.671
- 2Withhold PPh 23 on a vendor payment0.602
- 3Record a vendor bill from a received purchase order0.566
- 4Reimburse an employee expense0.554
- 5Send a reminder for an overdue customer invoice0.521
Scores are for authors. The agent gets ranked ids and a match signal, never a threshold.
The gate publishing runs: each intent is held out and must find this SOP in the top 3.
Uji sebelum berlaku
Tuliskan bagaimana orang memintanya dan apa yang harus dilakukan. Try it mengurutkan contoh permintaan terhadap semua prosedur Anda, sehingga Anda bisa melihat dua prosedur yang mudah tertukar, atau permintaan yang tidak punya kecocokan yang meyakinkan. Self-test memeriksa bahwa setiap cara meminta tetap menemukan prosedur ini. Jika ada prosedur yang gagal, publikasi ditolak, tanpa pengecualian.
Semua versi yang dipublikasikan disimpan, dan perubahan melewati git, sehingga Anda bisa melihat siapa mengubah apa dan kembali ke versi sebelumnya dengan memublikasikannya ulang.
Kontrol
AI mengerjakan persiapannya. Tanda tangan tetap di tangan tim Anda.
ODXPilot dibangun di sekitar kontrol yang sudah dijalankan tim keuangan: akses seminimal mungkin, pembuat dan pemeriksa, serta jejak. Sebagian sudah berjalan hari ini; sisanya sudah dirancang dan menjadi yang berikutnya dibangun.
Sudah berjalan hari ini
Hari iniDefault ditolak
ODXPilot hanya membaca apa yang diizinkan oleh kebijakan peran. Selebihnya ditolak, dan penolakan itu terlihat di langkah-langkahnya.
Aturan di kode, bukan di AI
Hak akses diperiksa oleh mesin kebijakan ODXPilot sebelum pencarian sampai ke Odoo. Prompt yang cerdik, atau teks yang disisipkan di record Odoo, tidak bisa membujuknya.
Field sensitif disamarkan
Field yang ditandai sensitif oleh kebijakan, seperti nomor rekening bank, disamarkan sebelum datanya sampai ke AI.
- What are the balances of our bank journals?
- 2 lookups in Odoo, 1 refused or failed
- Where this is kept in Odoo
- Records from account.journal · refused or failedrole 'reader' may not read 'account.journal'
Your role can’t read bank journals, so I can’t give you their balances. Someone with access to accounting can.
Berikutnya
BerikutnyaDraf, bukan posting
ODXPilot menyiapkan pekerjaan sebagai draf. Posting, pembayaran, dan rekonsiliasi masing-masing menunggu seseorang.
Pembuat ≠ pemeriksa
Orang yang meminta perubahan tidak bisa menyetujuinya sendiri, diperiksa pada orang yang sebenarnya, bukan pada user Odoo bersama.
Persetujuan per peran, per perusahaan
Penyetuju harus memegang peran penyetuju di perusahaan tempat perubahan itu berada, dan masuk ulang sebelum menyetujui.
Jejak di setiap perubahan
Siapa yang meminta, siapa yang menyetujui, prosedur mana, dicatat di ODXPilot dan di record Odoo itu sendiri.
Plan · Register a vendor payment
PT Contoh AbadiYour approved procedure, version 29828a95
- 1Open the posted bill BILL/2026/0087 from PT Kayu Manis Suppliesread
- 2Register a payment from the bank journal: IDR 42,800,000, todaydraft
- 3Reconcile it with the bank statement line when it arriveslater
Asked by Rina · accountant
Needs approval from a finance manager of PT Contoh Abadi
Peran, sesuai rancangan
- Auditor
- Membaca data akuntansi, nomor rekening disamarkan. Tanpa perubahan.
- Staf penagihan
- Membuat draf faktur pelanggan dan tagihan vendor.
- Akuntan
- Juga membuat draf jurnal dan menyiapkan rekonsiliasi. Tidak memposting pembayaran.
- Manajer keuangan
- Memposting, mencatat pembayaran, menyetujui perubahan rekening bank. Tetap tidak bisa menyetujui permintaannya sendiri.
Peran berlaku per orang dan per perusahaan: orang yang sama bisa menjadi manajer keuangan di satu anak perusahaan dan akuntan di anak perusahaan lain.
Data Anda
Ke mana data Anda pergi, dengan terus terang.
ODXPilot memakai model AI yang di-hosting, jadi saat ini ia bukan produk on-premises. Ia menyampaikan hal itu ke tim Anda di setiap chat, dan tidak menyertakan nilai yang disamarkan maupun baris Excel Anda dalam data yang dikirimnya.
AI berjalan di cloud
Claude (Anthropic), Gemini (Google Vertex AI), atau OpenAI GPT, satu yang dipilih untuk deployment Anda. Setiap chat menyebutkan yang mana, sebelum pertanyaan pertama.
Yang dikirim
Pertanyaan Anda dan data Odoo yang dibaca ODXPilot untuk menjawabnya, dengan field sensitif disamarkan.
Yang tidak dikirim
Field yang disamarkan, baris dalam ekspor Excel Anda, dan API key Odoo Anda, yang tetap di server.
Hanya milik Anda
Setiap database Odoo mendapat ODXPilot, ODXProxy, dan ODXBrain sendiri. Tidak ada yang dipakai bersama antar pelanggan.
Menjalankan AI di perangkat keras Anda sendiri ada di roadmap. ODXBrain, yang dipakai ODXPilot untuk menemukan data di Odoo, sudah berjalan sepenuhnya offline.
Untuk tim IT Anda
Model yang merencanakan. Kode deterministik yang memutuskan.
ODXPilot membuat tugas model tetap kecil dan menaruh setiap keputusan penting di kode yang tidak bisa dibujuk. Ia adalah klien dari ODXProxy, memakai ODXBrain untuk menemukan model Odoo dan prosedur, dan mengambil prosedur dari ODXDocs.
| Model | Kode ODXPilot | |
|---|---|---|
| Memahami pertanyaan | Ya | — |
| Menemukan letak data | Menjelaskan apa yang dibutuhkan | ODXBrain menyebutkan model Odoo-nya; field dibaca langsung dari instance |
| Memilih prosedur (SOP) | Memilih di antara yang cocok dan memeriksa bahwa operasinya sama | ODXBrain menandai saat tidak ada SOP yang disetujui yang cocok, dan AI diinstruksikan untuk berhenti. Akan dipaksakan oleh kode setelah ODXPilot bisa membuat perubahan |
| Memutuskan hak akses | Tidak pernah | Mesin kebijakan di odx-mcp, default ditolak |
| Melihat field yang disamarkan | Tidak pernah | Disamarkan sebelum hasil tool sampai ke model |
| Mengubah Odoo | Tidak pernah dengan sendirinya | Berikutnya: draf, diposting hanya setelah disetujui seseorang |
- Menjangkau Odoo hanya melalui ODXProxy, lewat v1 atau v2 (JSON-2). ODXProxy sendiri tidak berubah; pencarian ODXBrain memerlukan ODXProxy 0.10 atau lebih baru.
- Tool Odoo berjalan di server MCP terpisah (odx-mcp) yang menampung mesin kebijakan; model tidak pernah memanggil Odoo secara langsung.
- Satu stack per database Odoo: ODXPilot + ODXProxy + ODXBrain, dikemas sebagai image Docker.
- Penyedia AI (Claude, Gemini, atau OpenAI) diatur per deployment dan ditetapkan saat startup; menggantinya berarti restart. Dukungan OpenAI masih baru dan sedang diverifikasi.
- Sejauh ini diuji pada Odoo 20 Enterprise. Tidak ada nama model atau field yang ditanam di kode.
+++ id = "vendor-bill-from-po" title = "Record a vendor bill from a received purchase order" intents = [ "create a bill from a purchase order", "record a supplier invoice against a PO", ] [applies_to] odoo_min = "17.0" edition = "enterprise" modules = ["account", "purchase"] +++ ## Business rules (Accountant) - Only bill what was received. - Bills above IDR 50,000,000 need CFO approval. - The vendor's NPWP must be on the partner. If it is missing, stop and ask Finance. ## Technical notes (Developer) - Compare qty_received with qty_invoiced first. - Create it with purchase.order.action_create_invoice.
Memasang AI di Odoo sendiri? Mulailah dari ini.
01
Jangan pernah beri agen kunci admin
Gunakan user Odoo dengan akses sesempit mungkin yang masih berfungsi, agar aturan akses Odoo sendiri tetap menjadi pengaman yang nyata.
02
Terapkan hak akses di kode
Aturan di prompt bisa dibantah. Pemeriksaan di depan API tidak bisa.
03
Draf dulu, posting secara manual
Posting, pembayaran, dan rekonsiliasi adalah langkah terpisah yang disetujui secara eksplisit.
Status
Masih awal, dan jujur tentang itu.
ODXPilot sedang dalam tahap inkubasi: belum ada pelanggan maupun deployment produksi. Apa yang ditandai "hari ini" di halaman ini sudah dibangun dan diuji pada database uji Odoo 20 Enterprise. Semua yang ditandai "berikutnya" sudah dirancang, belum dibangun.
Sudah dibangun
Hari ini- Aplikasi web: pertanyaan dengan bahasa sehari-hari, setiap pencarian ditampilkan
- Pencarian di satu database Odoo melalui ODXProxy
- Mesin kebijakan: default ditolak per peran, penyamaran, pemeriksaan skema live
- Ekspor Excel
- Gerbang prosedur dengan ODXDocs: rencana sebagai teks, atau berhenti dan bertanya
- Claude atau Gemini, dipilih per deployment. OpenAI GPT masih baru dan sedang diverifikasi
Sudah dirancang
Berikutnya- Draf dan langkah persetujuan, dengan kartu rencana seperti pratinjau di atas
- Masuk dengan penyedia identitas Anda, peran per orang dan per perusahaan
- Pemisahan tugas, log audit, catatan di record Odoo
- Berpindah antar perusahaan dalam satu chat
- Menjalankan AI di perangkat keras Anda sendiri
Tanya jawab
- Bagaimana ODXPilot akan membuat perubahan di Odoo?
- Sebagai draf. Membuat perubahan adalah langkah berikutnya: ODXPilot menyiapkan pekerjaan sebagai draf, dan posting, pembayaran, serta rekonsiliasi masing-masing menunggu persetujuan dari orang dengan peran yang tepat di perusahaan tersebut.
- Apakah ia akan memposting atau membayar sendiri?
- Tidak. Itu rancangannya, bukan pengaturan: AI mengusulkan, dan orang dengan peran yang tepat menyetujui sebelum apa pun diposting atau dibayar.
- Apakah AI yang menentukan apa yang boleh dilihat tim saya?
- Tidak. Mesin kebijakan di ODXPilot memeriksa setiap pencarian terhadap peran sebelum sampai ke Odoo, dan menolak apa pun yang tidak diizinkan. AI hanya melihat sisanya, dengan field sensitif disamarkan.
- AI apa yang dipakai, dan apa yang dilihatnya?
- Claude (Anthropic), Gemini di Google Vertex AI, atau OpenAI GPT (baru, sedang diverifikasi), satu yang dipilih untuk deployment Anda. Ia menerima pertanyaan Anda dan data Odoo yang dibaca ODXPilot untuk menjawabnya, dengan field sensitif disamarkan. Baris Excel masuk ke file, bukan ke AI.
- Bisakah ia berjalan sepenuhnya di server kami sendiri?
- Belum. AI saat ini berjalan di cloud. Menjalankannya di perangkat keras Anda sendiri ada di roadmap. ODXBrain, yang dipakai ODXPilot untuk menemukan data di Odoo, sudah berjalan sepenuhnya offline.
- Dari mana prosedurnya berasal?
- Dari tim Anda sendiri. Akuntan dan developer Anda menulisnya di ODXDocs, mengujinya, lalu memublikasikannya. ODXPilot tidak datang dengan pustaka prosedur bawaan.
- Apa yang terjadi jika tidak ada prosedur yang cocok untuk sebuah tugas?
- ODXPilot berhenti dan bertanya. Ia menyebutkan prosedur yang paling mendekati untuk Anda periksa, tetapi tidak pernah mengikuti prosedur yang kecocokannya tidak meyakinkan.
- Versi Odoo mana yang didukung?
- Sejauh ini diuji pada Odoo 20 Enterprise. Ia tidak terikat pada satu versi: yang dibutuhkan versi lain adalah prosedur Anda dan cakupan ODXBrain untuk versi itu. Sebutkan versi Anda saat meminta demo.
- Siapa yang memakainya saat ini? Berapa biayanya?
- ODXPilot masih tahap awal: belum ada pelanggan maupun deployment produksi, dan ketersediaan serta harganya belum ditentukan. Minta demo dan kami tunjukkan sejauh mana perkembangannya.