User guide

Supplier Promise Manager for Odoo: Setup and User Guide

How to install, configure and use KalvyAI Supplier Promise Manager on Odoo 19.0 and 20.0 to track supplier delivery promises, read WhatsApp replies with AI and see which sales and manufacturing orders a delay puts at risk.

KalvyAI Engineering · · 8 min read

Supplier Promise Manager for Odoo: Setup and User Guide (cover)

Supplier Promise Manager (technical name ki_supplier_promise) tracks the delivery date your suppliers actually promised for every purchase order line in Odoo. It also shows which customer orders and manufacturing orders are affected when a supplier slips. This guide covers installation, setup and each main feature.

You can buy and download the module from the KalvyAI Store.

What the app is for

A purchase order holds the date you asked for. It does not hold the date the supplier committed to, or how that commitment changed. Supplier Promise Manager adds that layer:

  • Confirming a purchase order creates a supplier promise for each line, with the requested delivery date, quantity and installment schedule.
  • Suppliers confirm, move or split deliveries through a secure tokenized portal link (no Odoo login) or by replying on WhatsApp in plain text.
  • An AI model configured in AI Base turns replies like "300 pcs on the 3rd and the rest on the 10th" into structured dates and delivery installments.
  • When a date moves, downstream impact tracing follows stock moves to show which make-to-order sales orders and manufacturing orders are at risk.
  • Every change is kept in an immutable revision audit trail.

Who it helps

  • Buyers and purchasing teams who chase suppliers for confirmations and need to work by exception instead of reading every PO.
  • Planners and production managers who need to know which manufacturing orders are affected by a late component.
  • Sales and customer service teams who need early warning when a make-to-order customer delivery is at risk.
  • ERP admins who want a clear record of who changed a delivery date, when, through which channel and why.

Requirements

  • Odoo 19.0 or 20.0, Community or Enterprise, hosted on Odoo.sh or your own server. Odoo Online (SaaS) is not supported.
  • Standard Odoo modules: Purchase, Inventory, Sales, Manufacturing, Portal and Mail.
  • KalvyAI AI Base module (free, included automatically).
  • A public HTTPS address for supplier portal links and incoming Meta WhatsApp webhooks.
  • Optional: Meta WhatsApp Cloud API credentials with a permanent System User token.
  • Optional: an API key from an AI provider supported by AI Base (Google Gemini, OpenAI, Anthropic Claude, xAI Grok, Azure OpenAI and others, including self-hosted OpenAI-compatible LLMs).

Installation

  1. Buy and download the module from the store page.
  2. Add the module folder (ki_supplier_promise) to your custom addons path. On Odoo.sh, commit it to your project repository. [CHECK: whether AI Base ships in the same download or must be added separately]
  3. Restart the Odoo server if you are self-hosted.
  4. In Odoo, activate developer mode and go to Apps › Update Apps List.
  5. Search for Supplier Promise Manager and click Install.

Dependencies (Purchase, Inventory, Sales, Manufacturing, Portal, Mail and AI Base) are installed automatically.

Setup

1. Confirm purchase orders as usual

No extra steps are needed for basic tracking. When you confirm a purchase order, a supplier promise is created for each line with the requested delivery date and quantity.

2. Make sure your public URL is correct

Portal links and WhatsApp webhooks need a public HTTPS address. Check that your Odoo base URL points to that address. [CHECK: whether the module reads the standard web.base.url system parameter or has its own setting]

3. Configure WhatsApp (optional)

  1. Go to Purchase › Configuration › Settings.
  2. Enter your Meta WhatsApp Cloud API credentials, including a permanent System User token. [CHECK: exact list of fields, e.g. phone number ID, token, verify token]
  3. In your Meta app, set the webhook URL to [CHECK: webhook URL path exposed by the module] on your public HTTPS domain.
  4. Save.

4. Add an AI provider (optional, needed for WhatsApp reply parsing)

  1. Open the AI Base configuration. [CHECK: menu path for AI Base providers]
  2. Add your preferred provider and your own API key.
  3. Make sure the provider is active.

5. Clean up supplier phone numbers

For WhatsApp matching, supplier phone numbers must include the country code and be stored without spaces or dashes.

Works:        [CHECK: confirm whether a leading + is required] 14155550123
Does not:     (415) 555-0123
Does not:     +1 415 555 0123

6. Decide on PO line auto-sync

By default, accepting a new supplier date updates the promise only. The purchase order stays unchanged. If you want confirmed dates to update the purchase line planned dates, enable Auto-Sync PO Line Planned Dates in Settings. [CHECK: which Settings page holds this option]

Using the main features

Request a delivery promise

  1. Open a confirmed purchase order.
  2. Click Request Delivery Promise.
  3. Choose the channel: portal link, WhatsApp, or email. [CHECK: exact wizard fields and channel options]
  4. Send.

With the email channel, the module records the communication and generates the portal link, which you can share with the supplier by email.

What the supplier sees in the portal

The supplier opens a private tokenized link. No Odoo login is needed, and the link opens only that purchase order's lines. From there the supplier can:

  • Confirm the promise in one click.
  • Propose a new delivery date.
  • Split a delivery into installments, with an explanation.

Links expire after 7 days by default and can be revoked at any time. [CHECK: where to change the default expiry and where to revoke a link]

WhatsApp replies read by AI

If WhatsApp is configured, suppliers can reply in plain words. The configured AI provider parses dates and partial shipments into delivery installments. For example, on a line for 500 pieces:

Supplier reply:  "300 pcs on the 3rd, the rest on the 10th"

Result (illustrative):
  Installment 1: 300 pcs on the 3rd
  Installment 2: 200 pcs on the 10th

Outgoing WhatsApp messages are free-form session messages, so they only work within Meta's 24-hour window. Outside that window, send a portal link instead.

Unclear replies go to a human

Vague messages such as "maybe next Friday" do not change your data. The promise is flagged and a to-do activity is created automatically for the buyer. The buyer reads the message, follows up with the supplier and updates the promise.

Buyer Cockpit and priority queues

The Buyer Cockpit lets you work by exception. Open it from [CHECK: menu path for Buyer Cockpit]. It has these queues:

  • Awaiting Confirmation: promises the supplier has not confirmed yet.
  • Proposed Changes: new dates or splits from suppliers that need your review.
  • Verified Demand Risks: delays that affect downstream sales or manufacturing orders.
  • Overdue Deliveries: promised deliveries that have passed their date.
  • Failed Communications: messages that could not be delivered.

A practical daily routine:

  1. Clear Proposed Changes first, since suppliers are waiting for your answer.
  2. Review Verified Demand Risks and alert sales or production.
  3. Chase Awaiting Confirmation and Overdue Deliveries.
  4. Fix and resend anything in Failed Communications.

Downstream impact tracing

When a supplier moves a delivery date, the module follows stock moves to show which customer sales orders (make-to-order) and manufacturing orders are delayed. Open the affected promise to see the linked orders. [CHECK: where the impact list appears on the promise form] Use this list to tell the right customers and planners early, instead of finding out at the receiving dock.

Immutable revision audit trail

Every date change, installment split and supplier communication is logged with:

  • Author
  • Timestamp
  • Channel
  • Reason
  • Previous vs new schedule
  • Raw payload

Revisions cannot be edited, so you always have the full history of what was promised and when it changed.

PO line integration

Promise status and delay risk indicators appear directly on purchase order lines. With Auto-Sync PO Line Planned Dates enabled, confirmed dates also update the purchase line planned dates.

Built-in WhatsApp simulator

You can test the full reply pipeline without a live Meta connection. The simulator sends confirm, delay, split, ambiguous or custom replies through the real webhook pipeline.

  1. Open the simulator from [CHECK: menu path or button for WhatsApp simulator].
  2. Pick a purchase order or promise. [CHECK: simulator inputs]
  3. Choose a reply type or write a custom message.
  4. Run it and check the promise, revisions and cockpit queues.

Tips

  • Test before going live. Use the simulator with an ambiguous reply to confirm that the flag and the to-do activity work as you expect.
  • Fix phone numbers in bulk before your first WhatsApp campaign. Unmatched numbers end up as missed replies.
  • Default to the portal link for suppliers you have not messaged in the last 24 hours.
  • Start with auto-sync off if your planners rely on PO dates. Turn it on once you trust the confirmations coming in.
  • Revoke links when a supplier contact changes or a link was sent to the wrong person.

Limitations

  • Odoo Online (SaaS) is not supported. Custom modules require Odoo.sh or a self-hosted server.
  • Outgoing WhatsApp messages use free-form session messages within Meta's 24-hour window. Use portal links outside that window.
  • AI reply parsing requires an active provider configured in AI Base with your own API key.
  • The email channel records the communication and generates the portal link; the link is then shared by email.
  • Supplier phone numbers must include the country code and be stored without spaces or dashes.
  • Portal links expire after 7 days by default and can be revoked at any time.

FAQ

Which Odoo editions and hostings are supported?

Community and Enterprise on Odoo 19.0 and 20.0, hosted on Odoo.sh or your own server. Odoo Online (SaaS) does not support custom modules.

Do suppliers need an Odoo user login?

No. Each request generates a private tokenized portal link that opens only that purchase order's lines. It expires after 7 days and can be revoked anytime.

Do I need WhatsApp to use this module?

No. The portal link works on its own. WhatsApp is optional.

Which AI providers can I use for WhatsApp replies?

Any provider supported by AI Base: Google Gemini, Anthropic Claude, OpenAI, xAI Grok, Azure OpenAI, Mistral, Cohere, Perplexity, or self-hosted OpenAI-compatible LLMs.

Does accepting a new date change the purchase order?

Only if you enable Auto-Sync PO Line Planned Dates in Settings. Otherwise, the promise keeps its own schedule and the PO stays unchanged.

What happens if the AI cannot understand a reply?

The promise is flagged and a to-do activity is created for the buyer. Unclear replies do not change dates or quantities.

How KalvyAI can help

We build and connect Odoo, ERPNext and Shopify systems, and add AI agents that work inside them with human approvals, budgets and an audit trail. If you need help installing Supplier Promise Manager on Odoo.sh or your own server, setting up the Meta WhatsApp Cloud API, choosing an AI provider, or adapting the module to your purchasing process, contact us. To buy the module, visit the store page.

  • User guide
  • Odoo
  • Purchasing
  • Supplier Management
  • WhatsApp
  • AI Agents
  • User Guide

KalvyAI Engineering · Engineering team

The engineers who build, connect and fix business systems at KalvyAI: Odoo, ERPNext, Shopify and AI agents that work inside them with approvals, budgets and an audit trail.

Comments

No comments yet. Questions and corrections are welcome.

Rate this post or leave a comment

Your rating (optional)
Not rated

Comments appear after an editor approves them. See our privacy notice.