Skip to content

Qawafel

B2B marketplace and ZATCA-compliant document platform — sync products, orders, merchants and invoices with Saudi Arabia's leading wholesale network.

Commerce

Connect it

In Keystile Automations → Connections → New connection, choose Qawafel and sign in. Your AI tools and workflows then use it through Keystile; they never see the password or key.How connecting works.

Try it from your AI tool

Using Keystile, in Qawafel: cancel order (Cancel an open order. Once cancelled, the order cannot be reopened — the only path forward is to create a new order).

What it can do (15 actions)

ActionWhat it doesChanges data
Cancel OrderCancel an open order. Once cancelled, the order cannot be reopened — the only path forward is to create a new order.
Create Completed OrderSync a completed (fulfilled) order into Qawafel. Use this to import historical or externally-completed orders from another storefront, ERP, or B2B portal — the order is created directly in **Fulfilled** state and skips the normal fulfilment workflow. Do **not** use this for new orders that still need to be confirmed, picked, and delivered.
Create InvoiceCreate an invoice in Qawafel for a customer. The invoice starts in `draft` state — use the **Generate Invoice** action (or call it from your dashboard) to finalize and issue a ZATCA-compliant copy.
Create Merchant (Customer or Supplier)Add a new customer or supplier to your Qawafel tenant. Use this when onboarding a new B2B partner from your CRM, signup form, or another system.
Create ProductAdd a new product to your Qawafel catalog. The workhorse for catalog sync from your ERP or storefront into Qawafel.
Custom API CallMake a custom API call to a specific endpointYes
Get InvoiceFetch a single invoice by its Qawafel ID. Returns the full invoice including line items, totals, ZATCA PDF URL, and current state.
Get OrderFetch a single order by its Qawafel ID. Returns the full order including line items, totals, delivery details, and current state.
Get ProductFetch a single product by its Qawafel ID. Returns the full product including price, descriptions, and active status.
List InvoicesGet invoices, optionally filtered by status, customer, or creation date. Returns up to 500 invoices (5 pages of 100).
List OrdersGet orders, optionally filtered by status, customer, or creation date. Returns up to 500 orders (5 pages of 100).
List ProductsGet products from your catalog, with optional filters by type, supplier, SKU, and active status. Returns up to 500 products (5 pages of 100).
Update MerchantEdit a merchant's trade name or active state. Only the fields you fill in are updated. (Legal name, CR, VAT and other identity fields cannot be changed via the API.)
Update Order StatusMove an order forward in the Qawafel fulfilment workflow. Qawafel enforces a strict state machine — for example, an order must be **Out for Delivery** before it can be marked **Delivered**. To cancel an order, use the **Cancel Order** action instead.
Update ProductEdit a product's price, description, or active state. Only the fields you fill in are updated — leave the rest blank to keep them unchanged.

Start a workflow when… (8 triggers)

  • New Order — Fires the moment a new sales order is created in Qawafel. Use it to fan out to fulfillment, accounting, Slack alerts, or your CRM.
  • Order Status Changed — Fires when an order moves to a specific status (confirmed, out for delivery, delivered, fulfilled, cancelled, etc.). Pick one status per trigger — add the trigger again for additional statuses.
  • Invoice Paid — Fires when an invoice is marked as paid in Qawafel. Useful for posting payment receipts to Slack, releasing fulfilment, or syncing revenue to your books.
  • New Invoice Generated — Fires when a ZATCA-compliant invoice is finalized in Qawafel (the `invoice.generated` event). Use it to email PDFs to customers, archive invoices to Drive, or push to your accounting system.
  • New Product Published — Fires when a new product is created in Qawafel. Use it to mirror your catalog into Shopify, Salla, Zid, or your data warehouse.
  • Product Updated — Fires when a product is updated (price change, description edit, activated/deactivated). Use it to keep external storefronts in sync.
  • New Merchant Registered — Fires when a new merchant (customer or supplier) is created in Qawafel. Use it to onboard customers in your CRM or add suppliers to your procurement system.
  • Refund / Credit Note Created — Fires when a credit note is created against an invoice (i.e. a customer return or refund is initiated). Use it to alert your finance team or trigger a return workflow.

How Keystile protects it

Every Qawafel action is checked before it runs, whether it comes from an AI tool or a workflow. 1 of its actions change data; your rules, limits and budgets decide whether each is allowed, held for a person or stopped, and it all goes into the signed record.

Use Qawafel with your AI assistant — safelyClaude, Cursor or ChatGPT do the work; Keystile checks every action first.
Get early access

← All apps