Integration

Wafeq integration

Wafeq is cloud accounting for the Gulf (Saudi Arabia, UAE). Manage contacts, items, the chart of accounts, branches, projects, cost centers and warehouses; create and update quotes, invoices, simplified (B2C) invoices, credit notes, bills, debit notes, purchase orders, expenses, payments and manual journals, download their PDFs, report invoices and credit notes to the tax authority (ZATCA or UAE FTA), record and reconcile bank transactions, and read financial reports. Authentication is an API key from the Wafeq developer console (app.wafeq.com/c/api-keys), sent as 'Authorization: Api-Key <key>'; 60 requests per minute per organization. Payroll (employees, payslips), beneficiaries and bank payment requests, which carry bank account numbers and move money, are left out, as are amortization and revenue recognition schedules, item units of measure and line items of documents other than invoices and bills.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Wafeq.Built from the 161 Wafeq tools below, on the connection you add once.

What you can do with Wafeq

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Bill, 5 operations

  • create_billCreate billPOSTCreates a bill: bill_date, bill_due_date, bill_number, currency and line_items are required; status is DRAFT (the default), AUTHORIZED or PAID. Returns it with computed amounts and tax.
  • delete_billDelete billDELETEPermanently deletes a bill.
  • download_bill_pdfDownload bill pdfGETDownloads the bill as a PDF file.
  • get_billGet billGETReturns one bill by id: number, supplier, dates, currency, status, amounts, balance and line items. expand returns related objects (contact, line items, journal) in full.
  • list_billsList billsGETLists bills (number, supplier, dates, currency, status, amounts, balance and line items), 50 per page by default (page, page_size). Filters: status, contact, bill_date, bill_due_date, reference, branch, project, external_id.

Credit note, 5 operations

  • create_credit_noteCreate credit notePOSTCreates a credit note: contact, credit_note_date, credit_note_number, currency and line_items are required; status is DRAFT (the default), SENT or FINALIZED. Returns it with computed amounts and tax.
  • delete_credit_noteDelete credit noteDELETEPermanently deletes a credit note.
  • download_credit_note_pdfDownload credit note pdfGETDownloads the credit note as a PDF file.
  • get_credit_noteGet credit noteGETReturns one credit note by id: number, customer, date, currency, status, amounts, balance, invoices and line items. expand returns related objects (contact, line items, journal) in full.
  • list_credit_notesList credit notesGETLists credit notes (number, customer, date, currency, status, amounts, balance, invoices and line items), 50 per page by default (page, page_size). Filters: status, contact, credit_note_date, branch, project, external_id.

Debit note, 5 operations

  • create_debit_noteCreate debit notePOSTCreates a debit note: contact, debit_note_date, debit_note_number, currency and line_items are required; status is DRAFT (the default) or POSTED. Returns it with computed amounts and tax.
  • delete_debit_noteDelete debit noteDELETEPermanently deletes a debit note.
  • download_debit_note_pdfDownload debit note pdfGETDownloads the debit note as a PDF file.
  • get_debit_noteGet debit noteGETReturns one debit note by id: number, supplier, date, currency, status, amounts, balance, bills and line items. expand returns related objects (contact, line items, journal) in full.
  • list_debit_notesList debit notesGETLists debit notes (number, supplier, date, currency, status, amounts, balance, bills and line items), 50 per page by default (page, page_size). Filters: status, contact, debit_note_date, branch, project, external_id.

Invoice, 5 operations

  • create_invoiceCreate invoicePOSTCreates an invoice: contact, currency, invoice_date, invoice_due_date, invoice_number and line_items are required; status is DRAFT (the default), SENT or FINALIZED. Returns it with computed amounts and tax.
  • delete_invoiceDelete invoiceDELETEPermanently deletes an invoice.
  • download_invoice_pdfDownload invoice pdfGETDownloads the invoice as a PDF file.
  • get_invoiceGet invoiceGETReturns one invoice by id: number, contact, dates, currency, status, amounts, balance and line items. expand returns related objects (contact, line items, journal) in full.
  • list_invoicesList invoicesGETLists invoices (number, contact, dates, currency, status, amounts, balance and line items), 50 per page by default (page, page_size). Filters: status, contact, invoice_date, branch, project, external_id.

Payment, 5 operations

  • create_paymentCreate paymentPOSTRecords a payment (amount, currency, date, paid_through_account required) and allocates it to invoices, bills, credit or debit notes through the matching *_payments lists. Records, does not send money.
  • delete_paymentDelete paymentDELETEPermanently deletes a payment.
  • download_payment_pdfDownload payment pdfGETDownloads the payment as a PDF file.
  • get_paymentGet paymentGETReturns one payment by id: date, amount, currency, contact, paid-through account, fees and the documents it settles.
  • list_paymentsList paymentsGETLists payments (date, amount, currency, contact, paid-through account, fees and the documents it settles), 50 per page by default (page, page_size). Filters: contact, date, reference, paid_through_account, project, external_id.

Purchase order, 5 operations

  • convert_purchase_order_to_billConvert purchase order to billPOSTConverts a purchase order into a draft bill and returns the new bill.
  • create_purchase_orderCreate purchase orderPOSTCreates a purchase order: currency and line_items are required; status is DRAFT (the default), SENT, BILLED or VOIDED. Returns it with computed amounts and tax.
  • delete_purchase_orderDelete purchase orderDELETEPermanently deletes a purchase order.
  • download_purchase_order_pdfDownload purchase order pdfGETDownloads the purchase order as a PDF file.
  • get_purchase_orderGet purchase orderGETReturns one purchase order by id: number, supplier, date, currency, status, amounts and line items. expand returns related objects (contact, line items) in full.

Quote, 5 operations

  • convert_quote_to_invoiceConvert quote to invoicePOSTConverts a quote into an invoice and returns the new invoice.
  • create_quoteCreate quotePOSTCreates a quote: contact, quote_date, quote_number, currency and line_items are required; status is DRAFT (the default), SENT or INVOICED. Returns it with computed amounts and tax.
  • delete_quoteDelete quoteDELETEPermanently deletes a quote.
  • download_quote_pdfDownload quote pdfGETDownloads the quote as a PDF file.
  • get_quoteGet quoteGETReturns one quote by id: number, customer, dates, currency, status, amounts and line items. expand returns related objects (contact, line items) in full.

Account, 4 operations

  • create_accountCreate accountPOSTCreates an account in the chart of accounts: account_code, name_en, classification, sub_classification and is_payment_enabled are required. Returns it.
  • delete_accountDelete accountDELETEPermanently deletes an account.
  • get_accountGet accountGETReturns one account by id: code, names, classification, sub-classification, parent, posting and payment flags.
  • list_accountsList accountsGETLists accounts (code, names, classification, sub-classification, parent, posting and payment flags), 50 per page by default (page, page_size). Filters: classification, is_payment_enabled, is_system, external_id.

Bank account, 4 operations

  • create_bank_accountCreate bank accountPOSTCreates a bank, petty cash or credit card account (name, currency and sub_classification required) with its own ledger account. Returns it.
  • delete_bank_accountDelete bank accountDELETEPermanently deletes a bank account.
  • get_bank_accountGet bank accountGETReturns one bank account by id: name, currency, sub-classification (bank, petty cash, credit card) and its ledger account.
  • list_bank_accountsList bank accountsGETLists bank accounts (name, currency, sub-classification (bank, petty cash, credit card) and its ledger account), 50 per page by default (page, page_size). Filters: classification, sub_classification, currency.

Bank ledger transaction, 4 operations

  • create_bank_ledger_transactionCreate bank ledger transactionPOSTRecords a book-side transaction on a bank account (account, amount and date required), posted to the ledger. Returns it.
  • delete_bank_ledger_transactionDelete bank ledger transactionDELETEPermanently deletes a bank ledger transaction.
  • get_bank_ledger_transactionGet bank ledger transactionGETReturns one ledger (book-side) transaction of a bank account: date, amount, account, contact, tax rate, reference and journal.
  • list_bank_ledger_transactionsList bank ledger transactionsGETLists the ledger (book-side) transactions of one bank account: date, amount, account, contact, tax rate, reference and journal, 50 per page by default.

Bank statement transaction, 4 operations

  • create_bank_statement_transactionCreate bank statement transactionPOSTImports one bank statement line (amount, date and statement_balance required) into a bank account, to reconcile later. Returns it.
  • delete_bank_statement_transactionDelete bank statement transactionDELETEPermanently deletes a bank statement transaction.
  • get_bank_statement_transactionGet bank statement transactionGETReturns one statement (bank-side) transaction: date, amount, statement balance, bank reference, description and whether it is reconciled (is_posted).
  • list_bank_statement_transactionsList bank statement transactionsGETLists the statement (bank-side) transactions of one bank account: date, amount, statement balance, bank reference and posted flag, 50 per page by default.

Bill line item, 4 operations

  • create_bill_line_itemCreate bill line itemPOSTAdds a line to an existing bill: account, description, quantity and unit_amount are required. Returns the line.
  • delete_bill_line_itemDelete bill line itemDELETERemoves one line from a bill.
  • get_bill_line_itemGet bill line itemGETReturns one line item of a bill: description, account, quantity, unit amount, discount, tax rate, item and cost center.
  • list_bill_line_itemsList bill line itemsGETLists the line items of one bill: description, account, quantity, unit amount, discount, tax rate, item and cost center, 50 per page by default.

Branch, 4 operations

  • create_branchCreate branchPOSTCreates a branch: name, address, city, district, building_number, postal_code and phone are required. Returns it.
  • delete_branchDelete branchDELETEPermanently deletes a branch.
  • get_branchGet branchGETReturns one branch by id: name, address, phone and active flag.
  • list_branchesList branchesGETLists branches (name, address, phone and active flag), 50 per page by default (page, page_size).

Contact, 4 operations

  • create_contactCreate contactPOSTCreates a contact (customer or supplier); only name is required. Tax numbers, address and party_type matter for e-invoicing. Returns it.
  • delete_contactDelete contactDELETEPermanently deletes a contact.
  • get_contactGet contactGETReturns one contact by id: name, email, phone, address, tax and registration numbers, company identifications, relationship, party type and custom field values.
  • list_contactsList contactsGETLists contacts (customers and suppliers: name, email, phone, address, tax numbers; personal data for individuals), 50 per page by default. Filters: keyword, country, relationship, external_id.

Cost center, 4 operations

  • create_cost_centerCreate cost centerPOSTCreates a cost center: name_en, name_ar and is_active are required. Returns it.
  • delete_cost_centerDelete cost centerDELETEPermanently deletes a cost center.
  • get_cost_centerGet cost centerGETReturns one cost center by id: English and Arabic names and active flag.
  • list_cost_centersList cost centersGETLists cost centers (English and Arabic names and active flag), 50 per page by default (page, page_size).

Custom field, 4 operations

  • create_custom_fieldCreate custom fieldPOSTCreates a custom field for documents or contacts: apply_to (SALES, PURCHASES, CONTACTS) and config are required. Needs the Plus, Premium or Enterprise plan or the Advanced Customization add-on. Returns it.
  • delete_custom_fieldDelete custom fieldDELETEPermanently deletes a custom field. It must not be in use on any document.
  • get_custom_fieldGet custom fieldGETReturns one custom field by id: name, type, configuration, the documents it applies to and flags.
  • list_custom_fieldsList custom fieldsGETLists custom fields (name, type, configuration, the record groups it applies to and flags), 50 per page by default (page, page_size). Needs the Plus, Premium or Enterprise plan or the Advanced Customization add-on.

Expense, 4 operations

  • create_expenseCreate expensePOSTRecords an expense: account, amount, currency, date, description and paid_through_account are required. Returns it.
  • delete_expenseDelete expenseDELETEPermanently deletes an expense.
  • get_expenseGet expenseGETReturns one expense by id: date, description, amount, currency, account, paid-through account, tax rate, contact, status and journal.
  • list_expensesList expensesGETLists expenses (date, description, amount, currency, account, paid-through account, tax, status), 50 per page by default. Filters: status, account, paid_through_account, contact, date, reference, branch, project.

File, 4 operations

  • delete_fileDelete fileDELETEPermanently deletes an uploaded file.
  • get_fileGet fileGETReturns one uploaded file's metadata: original name, MIME type, size and URL.
  • get_file_download_linkGet file download linkGETReturns a signed link to download a file, valid for five minutes.
  • list_filesList filesGETLists uploaded files (original name, MIME type, size, URL), 50 per page by default. Filters: original_filename, mime_type, file_size_min, file_size_max.

Invoice line item, 4 operations

  • create_invoice_line_itemCreate invoice line itemPOSTAdds a line to an existing invoice: account, description, quantity and unit_amount are required. Returns the line.
  • delete_invoice_line_itemDelete invoice line itemDELETERemoves one line from an invoice.
  • get_invoice_line_itemGet invoice line itemGETReturns one line item of an invoice: description, account, quantity, unit amount, discount, tax rate, item and cost center.
  • list_invoice_line_itemsList invoice line itemsGETLists the line items of one invoice: description, account, quantity, unit amount, discount, tax rate, item and cost center, 50 per page by default.

Item, 4 operations

  • create_itemCreate itemPOSTCreates a product or service item; only name is required (prices, accounts and tax rates optional). Returns it.
  • delete_itemDelete itemDELETEPermanently deletes an item.
  • get_itemGet itemGETReturns one item by id: name, SKU, prices, accounts, tax rates and inventory tracking.
  • list_itemsList itemsGETLists items (name, SKU, prices, accounts, tax rates and inventory tracking), 50 per page by default (page, page_size). Filters: external_id.

Manual journal, 4 operations

  • create_manual_journalCreate manual journalPOSTCreates a manual journal entry dated date; its line_items must balance (debits equal credits). Returns it.
  • delete_manual_journalDelete manual journalDELETEPermanently deletes a manual journal.
  • get_manual_journalGet manual journalGETReturns one manual journal by id: date, reference, notes, line items and journal.
  • list_manual_journalsList manual journalsGETLists manual journals (date, reference, notes, line items and journal), 50 per page by default (page, page_size). Filters: date_after, date_before, reference, external_id.

Report, 4 operations

  • get_balance_sheetGet balance sheetGETBuilds the balance sheet at date in currency (default base currency), comparing period_count periods, grouped by group_by. Filters: branch__in, contact__in, project__in (comma-separated ids).
  • get_cash_flow_reportGet cash flow reportGETBuilds the cash flow report from date_after to date_before in currency (default base currency), grouped by group_by. Filters: branch__in, contact__in, project__in (comma-separated ids).
  • get_profit_and_lossGet profit and lossGETBuilds the profit and loss report from date_after to date_before in currency (default base currency), grouped by group_by. Filters: branch__in, contact__in, cost_center__in, project__in.
  • get_trial_balanceGet trial balanceGETBuilds the trial balance from from_date to to_date, optionally with P&L openings (with_pnl_openings) and zero-balance accounts (include_zero_balances). Filters: branch__in, contact__in and more.

Simplified invoice, 4 operations

  • create_simplified_invoiceCreate simplified invoicePOSTCreates a simplified invoice: currency, invoice_date, paid_through_account and line_items are required; status is DRAFT (the default) or PAID. Returns it with computed amounts and tax.
  • delete_simplified_invoiceDelete simplified invoiceDELETEPermanently deletes a simplified invoice.
  • download_simplified_invoice_pdfDownload simplified invoice pdfGETDownloads the simplified invoice as a PDF file.
  • get_simplified_invoiceGet simplified invoiceGETReturns one simplified invoice by id: number, date, currency, status, amounts, paid-through account and line items. expand returns related objects (contact, line items, journal) in full.

Credit note application, 3 operations

  • apply_credit_note_to_invoiceApply credit note to invoicePOSTApplies an amount of a posted credit note to a posted invoice of the same customer and currency, posting a journal entry and lowering both balances. Returns the application.
  • delete_credit_note_applicationDelete credit note applicationDELETEUnapplies a credit note from an invoice: the application and its journal entry are removed and both balances restored. Not possible in a closed period.
  • get_credit_note_applicationGet credit note applicationGETReturns one application of a credit note to an invoice: amount, date, credit note and invoice. An invoice lists its applications in credit_notes.

Debit note application, 3 operations

  • apply_debit_note_to_billApply debit note to billPOSTApplies an amount of a posted debit note to a posted bill of the same supplier and currency, posting a journal entry and lowering both balances. Returns the application.
  • delete_debit_note_applicationDelete debit note applicationDELETEUnapplies a debit note from a bill: the application and its journal entry are removed and both balances restored. Not possible in a closed period.
  • get_debit_note_applicationGet debit note applicationGETReturns one application of a debit note to a bill: amount, date, debit note and bill. A bill lists its applications in debit_notes.

Project, 3 operations

  • create_projectCreate projectPOSTCreates a project (name required) to tag documents with. Returns it.
  • delete_projectDelete projectDELETEPermanently deletes a project.
  • get_projectGet projectGETReturns one project by id: name and attachments.

Unit of measure, 3 operations

  • create_unit_of_measureCreate unit of measurePOSTCreates a unit of measure (name required). Returns it.
  • delete_unit_of_measureDelete unit of measureDELETEPermanently deletes a unit of measure.
  • get_unit_of_measureGet unit of measureGETReturns one unit of measure by id: English and Arabic names and active flag.

Warehouse, 3 operations

  • create_warehouseCreate warehousePOSTCreates a warehouse: name, code, account, address, city, district, building_number, postal_code and phone are required. Returns it.
  • delete_warehouseDelete warehouseDELETEPermanently deletes a warehouse.
  • get_warehouseGet warehouseGETReturns one warehouse by id: name, code, address, phone, inventory account and active flag.

Expense report, 2 operations

  • get_expense_reportGet expense reportGETReturns one employee expense report: number, title, employee, dates, amount, currency, approval status, reimbursement account and its claims.
  • list_expense_reportsList expense reportsGETLists employee expense reports (number, title, employee, date, amount, currency, approval status, claims), 50 per page by default. Filters: employee, status, report_date_after, report_date_before.

Journal line item, 2 operations

  • get_journal_line_itemGet journal line itemGETReturns one journal line item: account, amount, base-currency amount, currency, description, contact, branch, project, tax rate and journal.
  • list_journal_line_itemsList journal line itemsGETLists posted journal line items (account, amount, base-currency amount, currency, contact, branch, project, tax rate, journal) by cursor: for the next page pass the cursor value found in the next URL. Filters: account, journal, date range.

Organization, 1 operation

  • get_organizationGet organizationGETReturns the connected organization: name, financial settings (base currency, country, tax numbers, fiscal year end), branches, warehouses and users.

Organization profile, 1 operation

  • get_organization_profileGet organization profileGETReturns the organization profile: names, logo, website and financial settings (address, base currency, country, tax and registration numbers, fiscal year end).

Showing the first 120 of 161 endpoints. The rest are in the product, searchable from the workflow builder and from chat.

Use Wafeq from Claude Code, Cursor or Codex

Connect Wafeq in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Wafeq operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Wafeq

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Wafeq once

    Add your Wafeq connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Wafeq integration FAQ

What can you do with the Wafeq integration?

LiveContext exposes 161 operations on Wafeq, covering bill, credit note, debit note and invoice.

Popular integrations

Browse the whole catalog