ISOERP docsAuthenticationAPI referenceMCPImport and exportVerificationGlossarySecurityChangelogFAQ

MCP connector

ISOERP has one MCP endpoint: POST /api/ameen/mcp (JSON-RPC 2.0 over HTTP; methods initialize, ping, tools/list, tools/call). Its tools are the same tools Star, the in-app assistant, uses.

One tool list for every door

The tool list is generated from the API's own routes: every route of the product becomes one tool, with the same name, description and input rules (GET /api/tools returns the full catalogue). The screens, Star and the MCP endpoint therefore always offer the same actions, and a call always goes through the same permission checks as the screen.

How it behaves

Connect

  1. In Settings → API keys, create a key with the mcp scope and read (add write if the assistant should prepare changes).
  2. Configure your MCP client with the server address https://nrerp.khanwco.net/api/ameen/mcp and the header Authorization: Bearer <your key>.
  3. Ask the client to list tools.

OAuth sign-in for MCP clients is not available yet; use an API key.

Tool list

The tools below are generated from the product at build time (394 tools). "Prepares a change" means the call returns a card that a person confirms in the app.

accounts

ToolKindWhat it does
account_ledgerReadOne account's posted lines between two dates with opening balance, running balance and closing balance (base currency, debit positive); a heading account includes the accounts under it.
add_accountsPrepares a changeAdd accounts to the chart (owner, CFO or accountant).
list_accountsReadThe chart of accounts.

audit

ToolKindWhat it does
verify_chainReadRecompute the tamper-evident hash chain of every posted entry; reports the first entry that was altered.

backup

ToolKindWhat it does
backup_historyReadBackup History
backup_linkPrepares a changeBackup Link
download_backupReadThe archive, streamed.
email_backup_linkPrepares a changeE-mail the download link to the signed-in admin's OWN address (never anyone else).
get_backupReadGet Backup
get_backup_scheduleReadGet Backup Schedule
list_backupsReadList Backups
make_backupPrepares a changeStart a complete backup of this company (books, parties, stock, documents, files, settings, people without passwords).
preview_backupPrepares a changeUpload a backup (.zip, as the request body) and see what it holds and what would change in this company.
resume_backupPrepares a changeResume Backup
set_backup_schedulePrepares a changeSet Backup Schedule

bank

ToolKindWhat it does
add_bank_accountPrepares a changeLink a postable asset account of the chart as a bank or cash account in one currency (owner, CFO or accountant).
auto_matchPrepares a changeMatch unmatched statement lines to posted ledger lines automatically — only clear, unique matches at or above min_confidence; the rest come back as suggestions for a person.
bank_transferPrepares a changeMoney from one bank/cash account to another as DRAFT entries (same currency: one; between currencies: two through a transit account, the exchange difference on the base side).
create_from_linePrepares a changeExplain an unmatched statement line with a DRAFT: a journal entry (counter account, e.g.
get_bank_accountReadOne bank or cash account with its book balance as of a date (default today).
get_statement_lineReadOne statement line: date, amount (+ in / − out), text, whether it is matched and any draft made from it.
import_statementPrepares a changeImport a bank statement file (CSV, OFX or MT940 text) into this bank account.
list_bank_accountsReadEvery bank and cash account with its book balance (bank currency and base) as of a date (default today).
list_statement_linesReadStatement lines of a bank account (oldest first); filter matched / unmatched and by date.
manual_matchPrepares a changeTie a statement line to one or more posted ledger lines of the same bank account that add up to it exactly.
suggest_matchesReadUnmatched ledger lines that could be this statement line, best first, with their confidence (0..1).
unmatchPrepares a changeUndo the match of a statement line (recorded: who and when; the match stays in history).

companies

ToolKindWhat it does
create_companyPrepares a changeCreate another company with you as its owner (default approval matrix included).
get_subscriptionReadThis company's kind, plan, status (active / expired = read-only), trial end, features and how much of each is used.
list_my_companiesReadThe companies you belong to: your role, personal or commercial, the plan and whether it is active or expired (read-only).

company e-mail

ToolKindWhat it does
connect_mailPrepares a changeLog in to the company's mail server with this password; when it works the password is saved encrypted.
find_mail_settingsPrepares a changeFind the mail server for an address, the way mail apps do (known providers, autoconfig, Autodiscover, DNS, MX, trials).
get_mail_setupReadThe company's own e-mail address and server, if connected.
mail_historyReadMail History
mail_oauth_startReadHook for 'Sign in with Google / Microsoft' (OAuth2 XOAUTH2 for SMTP).
remove_mailPrepares a changeForget the company address and its password.
test_mailPrepares a changeSend ONE test message from the company address to YOUR OWN address.

crm

ToolKindWhat it does
add_crm_notePrepares a changeAdd a note to a contact, lead or deal timeline (kept as written, with who and when).
convert_leadPrepares a changeMake the lead a customer (an explicit step): a new customer and a contact at it; its open deals move to the customer.
create_contactPrepares a changeAdd a person at one or more customers / vendors.
create_dealPrepares a changeOpen a deal with a customer or a lead, with its expected value in the company's currency.
create_leadPrepares a changeAdd a lead.
customer_overviewReadCustomer / vendor 360: contacts, deals, open tasks, recent activities, documents and the balance (overdue part too).
get_contactReadOne contact: their customers / vendors, notes timeline, activities and open tasks.
get_dealReadOne deal: its stage history, notes, activities, tasks and the quote prepared from it.
get_leadReadOne lead with its notes, activities, tasks and deals.
link_contact_partyPrepares a changeLink a contact to another customer / vendor (or unlink=true).
list_contactsReadContacts (people at customers / vendors) you may see; search by name, job, phone, e-mail or company.
list_crm_activitiesReadCalls, meetings, e-mails, visits and WhatsApp notes logged by hand, newest first (filter by contact, customer, deal, lead or mine).
list_crm_partiesReadCustomers / vendors you may see, with how many contacts and open deals each has.
list_dealsReadDeals in the pipeline (default: open ones), in stage order.
list_leadsReadLeads (possible customers not yet in the books), newest first.
list_pipeline_stagesReadThe company's pipeline stages in board order (the first look creates the starting set, which admins can rename).
log_crm_activityPrepares a changeLog a call / meeting / e-mail / visit / WhatsApp note with a contact, customer, deal or lead; optionally set the follow-up task.
move_dealPrepares a changeMove a deal to another stage.
pipeline_forecastReadPipeline forecast: open value per stage, weighted by each stage's chance, won / lost totals and the lost reasons.
prepare_deal_quotePrepares a changePrepare a sales quote DRAFT for the deal's customer.
set_lead_statusPrepares a changeMark a lead qualified, or dropped with a reason.
set_pipeline_stagesPrepares a changeRename, reorder, add or close pipeline stages (owner / CFO).
update_contactPrepares a changeChange a contact's details, or close it (active=false).
update_dealPrepares a changeChange an open deal's title, value, expected close date, owner, contact or source.

customisation

ToolKindWhat it does
add_menu_tagPrepares a changeAdd a word people search with for a menu item (any language), for me or for the whole company (owner / CFO).
collapse_all_menusPrepares a changeClose every group of my menu.
expand_all_menusPrepares a changeOpen every group of my menu.
get_labelsReadThis company's renamed labels for a language: {key: label} — only the overrides.
get_my_ui_preferencesReadMy menu order, colours, open groups, my names and words for menu items, plus the company's words.
label_historyReadWho renamed which label, when, from what to what (newest first).
move_menu_groupPrepares a changeMove one menu group of MY menu to a position (0 = top).
remove_menu_tagPrepares a changeRemove a search word from a menu item (mine, or the company's: owner / CFO).
rename_menu_itemPrepares a changeRename a menu item, form or field for me, or for the whole company (owner / CFO).
reset_my_preferencesPrepares a changeReset to standard: put MY menu (and / or my names and words) back to the company standard.
save_my_menu_layoutPrepares a changeSave my whole menu layout (null = back to standard).
set_company_menu_tagsPrepares a changeThe company's own search words for menu items (owner / CFO); everyone in the company finds menus by them.
set_labelsPrepares a changeRename labels for this company and language (owner, CFO or a member allowed to customise).
set_menu_colourPrepares a changeGive a group of MY menu a colour: a swatch, a text colour and / or a highlight background (must stay readable: 4.5:1).

dashboards

ToolKindWhat it does
dashboard_dataReadEvery widget's data in one call.
dashboard_source_dataReadOne widget's data: a KPI value, a series of points or a table, with the comparison (previous period / previous year) and a drill-down link.
dashboard_sourcesReadThe data sources your role may put on a dashboard (revenue by month, expenses by account, AR/AP aging, cash, top customers, approvals waiting, drafts, net profit, books balanced…).
delete_dashboardPrepares a changeDelete one of your dashboards.
get_dashboardReadOne dashboard you own or that is shared with your role.
list_dashboardsReadYour dashboards (default first) and the ones shared with your role.
save_dashboardPrepares a changeCreate (a new id; 201) or replace (your own; 200) a dashboard: name, widgets (drag/resize/rename/minimise state included), default flag, roles it is shared with.

documents

ToolKindWhat it does
add_itemPrepares a changeAdd an item or service (owner, CFO, accountant, clerk, sales or purchase).
add_partyPrepares a changeAdd a customer, a vendor or both (owner, CFO, accountant, clerk, sales or purchase).
approve_documentPrepares a changeApprove a submitted document (never your own; your role's limit must cover the amount).
cancel_documentPrepares a changeCancel a document that is not posted (a posted one is corrected by a credit / debit note).
copy_documentPrepares a changeMake the next document from this one as a DRAFT (quote → order → invoice, PO → goods received → bill).
create_credit_notePrepares a changeDRAFT credit note for a posted sales invoice (whole invoice, or the lines given); it settles the invoice when posted.
create_debit_notePrepares a changeDRAFT debit note for a posted purchase bill (returns, price corrections).
create_documentPrepares a changePrepare a DRAFT document: a sales invoice or purchase bill (lines), a customer receipt or vendor payment (amount + bank account + which invoices / bills it settles), a quote, order, delivery or goods-received note.
get_documentReadOne document with lines, allocations, deductions, what is paid / still open, the tax ids the active tax pack asks for, and whether you may approve it (you_made_it, you_can_self_approve).
get_documents_setupReadIs the company ready for invoices and bills (control accounts, posting rules, numbering)?
list_cash_accountsReadThe company's registered bank and cash accounts, for receipts and payments (a strict choice, not free text).
list_documentsReadSales (side=customer) or purchase (side=vendor) documents, newest first; filter by type, status and party code.
list_itemsReadItems and services with prices and default tax code.
list_partiesReadCustomers (side=customer), vendors (side=vendor) or both.
list_tax_codesReadThe company's tax codes and rates.
mark_control_accountPrepares a changeMake one more account a receivable / payable control account (owner or CFO), e.g.
post_documentPrepares a changePost an APPROVED document to the books (owner, CFO or accountant): builds its journal entry, numbers it, settles what it allocates.
print_documentReadThe document as a printable page (HTML) or PDF: letterhead, DRAFT mark until posted, tax ids with the active tax pack's labels, lines and totals (receipts and payments: instrument, deductions, net to bank).
reject_documentPrepares a changeSend a submitted or approved document back to its maker as a draft, with the reason.
setup_documentsPrepares a changeMake the company ready for sales and purchase documents (owner or CFO): customer and vendor control accounts, default income / expense / tax accounts; seeds posting rules, approval rules, numbering and tax codes.
submit_documentPrepares a changeSend a draft for approval: the people who may approve it get a To-Do (and an e-mail when the company has it on).
update_documentPrepares a changeReplace a DRAFT's content (only drafts change; send a submitted one back first).

foreign-exchange

ToolKindWhat it does
cancel_revaluationPrepares a changeDrop a revaluation that is not posted (it stays as cancelled; its draft entry can never post).
fetch_ratePrepares a changeThe company's rate for a currency on a date: kept if already there, else looked up automatically from public sources (only the currency code and date go out) and stored with its source and time; 'unavailable' rather than an invented rate.
get_fx_settingsReadThe exchange gain/loss accounts (realised and unrealised); null when foreign exchange is not set up.
get_revaluationReadOne revaluation with every line it revalued, its entry and (once posted) its reversal.
list_ratesReadThe rate table (base-currency units per 1 foreign unit), by currency and date.
list_revaluationsReadRevaluations, newest first; filter by status.
post_revaluationPrepares a changePost an APPROVED revaluation (owner, CFO or accountant) together with its reversal dated the next day.
prepare_revaluationPrepares a changePrepare the period-end revaluation as DRAFTS (one per foreign currency with something to adjust).
preview_revaluationReadWhat a revaluation on the date would do — nothing is written: per currency the closing rate, every open item and bank balance with its adjustment, and the net unrealised gain (+) / loss (−).
rate_onReadThe rate in force on a day (the latest on or before it); refused when there is none.
set_ratePrepares a changeRecord or correct the rate of a currency on a date (owner, CFO or accountant).
setup_fxPrepares a changeChoose the exchange gain/loss accounts (owner or CFO; postable income/expense accounts).

hub

ToolKindWhat it does
add_agenda_itemPrepares a changeAdd an agenda point (organizer or minute-taker).
cancel_meetingPrepares a changeCancel a planned meeting (organizer).
create_hub_taskPrepares a changeGive a task to a member (optionally about a transaction).
create_meetingPrepares a changePlan a meeting with its agenda and people (you are the organizer).
finish_hub_taskPrepares a changeMark your task done (with a note), or cancel a task you gave.
get_meetingReadOne meeting: agenda, people, discussion, minutes, decisions and their tasks.
get_record_threadReadThe discussion on a transaction or a customer / vendor (for people who may open it).
invite_peoplePrepares a changeInvite members (organizer or minute-taker).
list_meetingsReadMeetings you may see (company-wide ones and those you are invited to), newest first.
my_dayReadWhat needs you today: tasks overdue / today / this week, meetings today and tomorrow, unread mentions, approvals waiting.
my_hub_tasksReadTasks for you and tasks you gave.
post_in_meetingPrepares a changeWrite in the meeting's discussion; tag members with mentions (they get a notice).
post_on_recordPrepares a changeWrite in a transaction's / customer's / vendor's discussion; tag people (they get a notice).
record_decisionPrepares a changeRecord a decision and its action items; each action item becomes a task (To-Do) for its person.
write_minutesPrepares a changeWrite the minutes (organizer or minute-taker); final=true freezes them (organizer).

import

ToolKindWhat it does
discard_importPrepares a changeTake back an import that was never posted: every draft, account, party and added person it created is removed.
explain_import_differencePrepares a changeWrite down why one account differs from the old system's trial balance (a person's judgement; it is kept with the import).
get_importReadOne import: status, what the file contains, errors and skipped records, mapping, progress, verification, history.
list_importsReadImports of this company, newest first.
post_importPrepares a changeA DIFFERENT authorised person approves and posts the submitted entries (or the reversal entries of a reversing import).
reverse_importPrepares a changeTake back a POSTED import with reversal entries (another person posts them with the post step).
set_import_mappingPrepares a changeHow to read the package: old role → new role, account type corrections, suspense account, which old years to lock.
stage_importPrepares a changeCreate the accounts, parties, items and every voucher as DRAFTS (nothing is posted).
stage_import_party_openingsPrepares a changeAfter staging: make one DRAFT opening document per customer / vendor balance (invoice, credit note, bill or debit note marked 'Opening balance from <old system>'); they are submitted with the import and approved + posted by another person.
submit_importPrepares a changeSend every staged draft for approval (the person who staged it).
upload_import_packagePrepares a changeUpload an import package (JSON).
upload_legacy_rowsPrepares a changeUpload rows copied from the OLD ISOERP (a copy of its database, never the live one).
verify_importReadCompare the staged books with the package and with the old system's own trial balance, account by account.

inventory

ToolKindWhat it does
add_warehousePrepares a changeAdd a warehouse (owner, CFO, accountant or warehouse; the plan must include inventory).
approve_stock_docPrepares a changeApprove a submitted stock document.
cancel_stock_docPrepares a changeCancel a stock document that is not posted, with a reason (it stays in history).
create_stock_adjustmentPrepares a changePrepare a DRAFT stock adjustment in one warehouse: + found / − lost per item (stock coming in may carry a unit cost).
create_stock_transferPrepares a changePrepare a DRAFT transfer between two warehouses (quantities above zero; stock moves at its cost).
get_inventory_settingsReadThe inventory accounts (GRNI, COGS, adjustment, price variance), the default warehouse and whether negative stock is allowed; null when inventory is not set up yet.
get_item_stockReadAn item's cost method, COGS account, reorder level / quantity and quantity on hand.
get_stock_docReadOne stock adjustment or transfer with its lines, status, maker, approver and journal number once posted.
get_warehouseReadOne warehouse by code.
get_warehouse_locationReadA warehouse's place and its weather now / next days (cached; 'unavailable' when the service does not answer).
list_stock_docsReadStock adjustments and transfers, newest first; filter by kind and status.
list_warehousesReadEvery warehouse (store, shop, yard) of this company, closed ones too.
post_stock_docPrepares a changePost an APPROVED stock document: moves the stock at cost and posts its journal entry (SA-/ST- number).
reject_stock_docPrepares a changeSend a submitted or approved stock document back to draft, with a reason.
set_item_stockPrepares a changeSet an item's cost method ('average' or 'fifo' — only before its first movement), its own COGS account, reorder level and reorder quantity (owner, CFO, accountant or warehouse).
set_warehouse_locationPrepares a changeWhere a warehouse / depot / site is (from the place search): for weather, wind and maps (owner, CFO, accountant, warehouse).
setup_inventoryPrepares a changeTurn inventory on (owner or CFO; the plan must include inventory): GRNI, COGS, adjustment and price-variance account codes and the default warehouse (created if new).
submit_stock_docPrepares a changeSend a draft stock document for approval.
update_inventory_settingsPrepares a changeChange the default COGS / adjustment / price-variance accounts, the default warehouse or whether negative stock is allowed (owner or CFO).
update_warehousePrepares a changeRename, close (active=false — only when it holds no stock) or reopen a warehouse.

journal

ToolKindWhat it does
approval_contextReadFor one entry / document: did you make it, may you approve it yourself as the ONLY possible approver right now, and who else may approve it (screens hide Approve from the maker unless the sole-approver step applies).
approvals_inboxReadEntries waiting for YOUR approval: submitted, not made by you, and within your approval limit.
approve_entryPrepares a changeApprove a submitted entry.
create_draftPrepares a changeCreate a journal entry as a draft.
get_entryReadOne entry with its lines and its full approval history (who, what, when, why).
list_entriesReadJournal entries, newest first, 50 per page by default; filter by status and date.
my_pending_itemsReadWhat I made that is not finished yet (drafts, waiting for approval, waiting to be posted) and whom it waits on — including drafts the assistant (Star) or WhatsApp prepared for me.
post_entryPrepares a changePost an approved entry to the books: it gets its number and joins the tamper-evident chain.
reject_entryPrepares a changeSend a submitted or approved entry back to draft, with a reason.
reverse_entryPrepares a changeCorrect a posted entry: creates an opposite DRAFT that goes through the same approval before it posts.
submit_entryPrepares a changeSend a draft for approval.
update_draft_entryPrepares a changeChange a DRAFT entry: date, memo, currency and/or all its lines (it must still balance).

learning

ToolKindWhat it does
lms_add_guardianPrepares a changeLink a guardian to a learner (read-only view of the learner's courses and certificates when they sign in).
lms_add_lessonPrepares a changeAdd a lesson to a module: text, or a link to a file or video (https).
lms_add_modulePrepares a changeAdd a module (a chapter) to a course.
lms_certificate_chain_checkReadRe-check every certificate this company issued: hashes, links between them, signatures, no gaps.
lms_create_assessmentPrepares a changeAdd a quiz (multiple choice, true/false, short answer) with its pass mark and allowed attempts, as a draft.
lms_create_cohortPrepares a changeAdd a class (cohort / batch) to a course.
lms_create_coursePrepares a changeCreate a course as a draft (Learning admins).
lms_create_learnerPrepares a changeAdd a learner (the minimum: name; e-mail for sign-in; birth year only to know a minor).
lms_create_sessionPrepares a changePlan a class session (for the whole course or one class).
lms_delete_lessonPrepares a changeRemove a lesson nobody has done yet (otherwise mark it not required).
lms_draft_tuition_invoicePrepares a changeDraft the tuition invoice for an enrolment (a DRAFT sales invoice; a person submits, approves and posts it in Sales).
lms_enrolPrepares a changeEnrol a learner in a published course (a learner under 18 needs the guardian's enrolment consent first).
lms_erase_learnerPrepares a changeErase a learner's personal data on request (name, contacts, written answers; a public check that printed the full name is withdrawn).
lms_export_learnerReadEverything held on one learner, as one file (privacy request).
lms_get_certificateReadOne certificate with its public verification link and QR code (to print).
lms_get_courseReadOne course: modules, lessons, assessments with questions and answers, classes, instructors, announcements.
lms_get_learnerReadOne learner: profile, guardians, consents and courses (instructors see only their courses, no contacts).
lms_get_sessionReadOne session with its learners and their attendance.
lms_gradebookReadGradebook: per learner progress, best score and attempts per quiz, attendance and certificate.
lms_invitePrepares a changeE-mail a sign-in link: a learner joins the course (under 18: only after the guardian's consent); a guardian gets a read-only view of their learners.
lms_issue_certificatePrepares a changeIssue the certificate of a PASSED course: number, tamper-evident public code and QR.
lms_list_certificatesReadCertificates issued (admins: all; instructors: their courses).
lms_list_coursesReadCourses (admins: all; instructors: the ones they teach) with enrolled and passed counts.
lms_list_enrolmentsReadLearners of a course with their status and progress.
lms_list_learnersReadLearners (admins: all with e-mail; instructors: names of learners in their courses).
lms_list_sessionsReadClass sessions of a course with how many attended.
lms_list_staffReadMembers and their Learning parts (admin, instructor).
lms_mark_attendancePrepares a changeMark attendance (present, absent, late, excused); optionally mark the session held or cancelled.
lms_my_accessReadIs Learning on for this company, and what is my part in it (admin / instructor / none).
lms_post_announcementPrepares a changePost an announcement to a course's learners (or one class).
lms_record_consentPrepares a changeRecord a consent answer (who accepted what, which text version, now).
lms_revoke_certificatePrepares a changeRevoke a certificate, with the reason (Learning admins).
lms_set_instructorsPrepares a changeWho teaches this course (members with the instructor part).
lms_set_staffPrepares a changeGive or take a Learning part (admin or instructor) for a member.
lms_update_assessmentPrepares a changeChange or publish a quiz (only before any learner has taken it).
lms_update_coursePrepares a changeChange a course; publish (needs a lesson) or archive it.
lms_update_learnerPrepares a changeChange a learner's details.
lms_update_lessonPrepares a changeChange a lesson.
lms_withdrawPrepares a changeWithdraw an active enrolment (a completed course stays completed).

learning-me

ToolKindWhat it does
lms_accept_invitationPrepares a changeAccept a course invitation link (only with the e-mail address it was sent to).
lms_lesson_donePrepares a changeMark a lesson as done.
lms_meReadMy learning here: my courses and progress, announcements, upcoming sessions, courses I may join; for a guardian, the wards.
lms_my_assessmentReadA quiz to take: its questions (never the answers) and attempts left.
lms_my_certificateReadMy certificate (or my ward's) with its verification link and QR code.
lms_my_courseReadOne of my courses: lessons (done or not), quizzes with attempts left and best score, announcements, certificate.
lms_my_placesReadThe schools / academies where I am a learner or guardian.
lms_self_enrolPrepares a changeJoin a course that allows self-enrolment (adults only).
lms_submit_attemptPrepares a changeSubmit my answers: scored at once against the pass mark; uses one attempt.

lookups

ToolKindWhat it does
add_missing_bankPrepares a changeAdd a bank missing from the list ('other'); refused when it is already there under the same name or SWIFT.
find_banksReadBanks by name (or SWIFT/BIC), optionally in one country first; includes banks your company added.
find_countriesReadCountries by name (English / Urdu / Arabic), ISO code or dial code: flag, dial code, currency, languages.
find_currenciesReadCurrencies by code, name, symbol or country ('yen', 'JPY', 'Japan', 'جاپان' all find Japanese Yen): symbol, minor units.
find_placesReadA place name to coordinates (OpenStreetMap; looked up when you press Enter, cached; only the place name goes out).
lookup_sourcesReadWhere every list and outside service comes from: licence, limits, attribution, last success.
weather_atReadWeather now (temperature, humidity, wind) and the next days at a coordinate; cached one hour; 'unavailable' when the service does not answer.

members

ToolKindWhat it does
add_memberPrepares a changeAdd a person to this company with a role (owner or CFO only; only an owner can make another owner).
get_member_permissionsReadA member's extra permissions on top of their role (e.g.
list_membersReadEveryone in this company with their role.
resend_invitePrepares a changeA fresh one-time invite link for a member who has not joined yet (owner or CFO): emailed to them and returned so it can also be shared another way.
set_member_permissionsPrepares a changeSet a member's extra permissions (owner or CFO).

notifications

ToolKindWhat it does
list_notificationsReadYour notifications, newest first.
mark_notification_readPrepares a changeMark one of your notifications read.
mark_notifications_readPrepares a changeMark your notifications read — the given ids, or all of them when ids is left out.
notification_summaryReadHow many unread bell notices and open to-dos you have (for badges).

organisation

ToolKindWhat it does
create_branchPrepares a changeAdd a branch (owner, CFO or accountant; within the plan's limit).
create_cost_centrePrepares a changeAdd a cost centre (owner, CFO or accountant; within the plan's limit).
create_projectPrepares a changeAdd a project (owner, CFO or accountant; within the plan's limit).
get_branchReadOne branch.
get_cost_centreReadOne cost centre.
get_projectReadOne project.
list_branchesReadEvery branch of this company (closed ones too unless include_closed=false).
list_cost_centresReadEvery cost centre of this company (closed ones too unless include_closed=false).
list_projectsReadEvery project of this company (closed ones too unless include_closed=false).
update_branchPrepares a changeRename, close (active=false) or reopen a branch.
update_cost_centrePrepares a changeRename, close (active=false) or reopen a cost centre.
update_projectPrepares a changeRename, close (active=false) or reopen a project, or change its branch and dates.

periods

ToolKindWhat it does
list_periodsReadAccounting periods and whether each is open or locked.
lock_periodPrepares a changeLock the period starting on this date (owner or CFO).
open_periodPrepares a changeOpen an accounting period (owner, CFO or accountant).

plans

ToolKindWhat it does
list_plansReadEvery plan and what it includes (users, branches, projects, cost centres, modules).

records

ToolKindWhat it does
attach_filePrepares a changeAttach a file (PDF, photo, Excel/CSV, Word, text) to a record.
correct_attachment_textPrepares a changeCorrect what the machine read (owner, CFO, accountant); the machine-read text is kept as it was.
get_attachment_infoReadOne file's details and read text.
get_record_notesReadDescription and remarks of a record (any transaction type).
list_record_attachmentsReadFiles of a record, with the reading status (pending / done / failed / skipped), the read text and removed files (on record).
remove_attachmentPrepares a changeRemove a file (soft: it stays on record as removed, with who, when and why).
set_record_notesPrepares a changeWrite the description / remarks of a record (allowed after posting too; every change is kept in its history).

report-studio

ToolKindWhat it does
delete_custom_reportPrepares a changeDelete one of your own saved reports.
export_custom_reportReadA saved report as JSON, printable HTML, PDF, Excel or CSV (up to its row limit).
get_custom_reportReadOne saved report with its definition.
list_custom_reportsReadYour saved reports and the ones shared with your role.
list_report_datasetsReadWhat your role may build reports from: datasets, their fields (type, allowed totals, date groupings).
preview_custom_reportPrepares a changeRun a report definition now without saving it (the builder's live preview).
run_custom_reportReadRun a saved report with YOUR role's view of the data (start / end override its period).
save_custom_reportPrepares a changeSave a report definition under a name (optionally shared with roles — owner/CFO only).
update_custom_reportPrepares a changeReplace one of your own saved reports.

reports

ToolKindWhat it does
aging_reportReadWho owes us (receivable) / whom we owe (payable), by how overdue, in base currency.
balance_sheetReadAssets, liabilities, equity and accumulated profit as of a date (default today).
export_reportReadAny report as JSON (every row with its drill-down link to the source entry/document), HTML (printable, branded with the company name), PDF, Excel (XLSX) or CSV.
fx_summaryReadRealised and unrealised exchange results posted between two dates (base currency; + = gain).
grni_reportReadGoods received not invoiced as of a date (default today): each open goods-received line, the total, the GRNI control balance and the difference (always 0).
list_reportsReadThe reports your role may open and export, with their parameters and formats.
party_statementReadA customer's or vendor's statement for a period: opening, each posted document, running balance, closing.
profit_and_lossReadIncome, expenses and net profit between two dates (inclusive).
profit_and_loss_byReadNet profit per branch, project or cost centre between two dates, plus an "unassigned" row; the rows add up to the P&L.
reconciliation_reportReadBank reconciliation as of a date (default today): statement balance, book balance, uncleared ledger lines, unmatched statement lines and the difference (0 when reconciled).
reorder_reportReadStock items at or below their reorder level, with the quantity to order.
stock_ledgerReadEvery movement of one item between two dates: opening, each move (source number, warehouse, in/out, value, running quantity and value), closing.
stock_valuationReadQuantity, value and unit cost per item × warehouse as of a date (default today), the total and — for the whole company — the inventory control balance and the difference (always 0).
trial_balanceReadTrial balance as of a date (default today).
ToolKindWhat it does
search_recordsReadFind accounts, customers/vendors, items, documents (number, party, reference), journal entries (number, memo), members, branches, projects and cost centres — typo-tolerant, Urdu/Arabic aware, only what your role may see.

settings

ToolKindWhat it does
get_approval_settingsReadThis company's approval settings: may a SOLE approver approve their own work with a written review (audited), and do eligible approvers also get an e-mail (the bell and To-Do always).
remove_approval_limitPrepares a changeThe role may no longer approve this document type (owner or CFO; audited; never the last unlimited approver).
set_approval_limitPrepares a changeSet what a role may approve for a document type (max_amount null = no limit).
set_approval_settingsPrepares a changeChange the approval settings (owner or CFO).

supply_chain

ToolKindWhat it does
add_item_sourcePrepares a changeApprove a supplier as the primary source or an approved alternate for an item, with its channel (OEM, distributor, agent ...).
add_requisition_offerPrepares a changeEnter a supplier's offer against a requisition: unit prices, currency and exchange rate, freight, duty, other costs, lead time, when we asked and when it came (for the supplier's response time).
add_signal_feedPrepares a changeAdd an RSS / Atom feed (https, on a trusted site) to read: trade, chemicals, shipping, ports, news or prices (owner or CFO).
add_signal_keywordPrepares a changeAdd a keyword with its weight (1-5) and what it points at; recent signals are scored again (owner, CFO or purchase).
add_supplier_paperPrepares a changeRecord a supplier paper (quality certificate, registration, local-content certificate, authorisation letter ...) with its expiry.
approve_purchase_requisitionPrepares a changeApprove a submitted requisition: never by its maker; the role and limit come from the company's approval rules.
cancel_purchase_requisitionPrepares a changeCancel a requisition that is not ordered yet (its maker, the owner or the CFO).
choose_requisition_offerPrepares a changeChoose the offer the purchase order will use (one per requisition).
compare_requisition_offersReadOffers side by side: landed cost (price + freight + duty + other, in base currency), lines covered, lead time, validity, and the supplier's on-time and return record from our own deliveries.
create_po_from_requisitionPrepares a changeFrom an APPROVED requisition and its chosen offer, prepare a DRAFT purchase order (it then goes through the normal purchase-order approval).
create_purchase_requisitionPrepares a changePrepare a DRAFT purchase requisition (items, quantities, estimated prices, needed-by date, warehouse, reason).
dismiss_supply_signalPrepares a changeHide a signal that is not useful (for everyone in the company).
draft_requisition_from_suggestionsPrepares a changePut the reorder suggestions of the chosen items into ONE DRAFT purchase requisition (nothing is ordered; a person submits it).
get_item_supplyReadOne item's supply settings, its approved sources (primary and alternates with channel) and sourcing risks (single source ...).
get_purchase_requisitionReadOne requisition with its lines, estimated value, status, who made / decided it, its history and its purchase order.
get_signal_settingsReadWhether this company's feeds are read, its trusted sites and the minimum relevance shown.
get_supplier_scorecardReadOne supplier's scorecard with its price history per item and the deliveries behind the numbers.
get_supply_supplierReadOne supplier's supply profile, its papers (certificates with expiry state) and the items it is an approved source for.
list_critical_itemsReadEarly warnings: for each critical item, days of stock left (stock ÷ average daily use from our own issues) against days until the next arrival (open purchase orders), with status stockout / late / gap / watch / ok and a reorder suggestion.
list_expiring_supplier_papersReadSupplier papers already expired or expiring within the given days, soonest first.
list_item_categoriesReadThe item categories in use, with how many items and critical items each has.
list_item_supplyReadItems with their supply settings: category, critical, single source, lead time, cover days, buyer and number of approved sources.
list_purchase_requisitionsReadPurchase requisitions, newest first; mine=true: the ones I made; waiting_me=true: submitted ones someone else made (for approvers).
list_signal_feedsReadThe feeds this company reads, with when each was last read and how it went.
list_signal_keywordsReadThe company's own words that make a feed item relevant, and what each points at (category, supplier, region, item).
list_supplier_scorecardsReadSupplier scorecards from our own orders, goods receipts, debit notes and offers: on-time %, promised vs actual lead time, return rate, price trend, response time — per supplier or per item category (default: the last 365 days).
list_supply_signalsReadSignals for your items: news / trade / shipping feed items matched to the company's keywords, most relevant first, each with a link to its source.
list_supply_suppliersReadSuppliers (vendors) with their supply profile: type (OEM, authorised distributor, local agent ...), regions and countries served, qualification, and how many of their papers are expired or expiring.
read_signal_feed_nowPrepares a changeRead one feed now (owner or CFO; the company's signals must be switched on).
reject_purchase_requisitionPrepares a changeSend a submitted requisition back to its maker with the reason (never by its maker).
remove_item_sourcePrepares a changeThe supplier is no longer an approved source of the item (kept on record as inactive).
remove_requisition_offerPrepares a changeRemove an offer typed in by mistake (not after the requisition is ordered).
remove_signal_keywordPrepares a changeRemove a keyword; recent signals are scored again (owner, CFO or purchase).
reopen_purchase_requisitionPrepares a changeTurn a sent-back requisition into a draft again so its maker can fix it.
submit_purchase_requisitionPrepares a changeSend a draft requisition for approval (its maker); it gets its PR number.
suggest_requisition_suppliersReadFor each line: the approved sources of the item and the suppliers who delivered it in our own orders (last price, orders, on-time %).
suggest_signal_keywordsReadWords the company already uses (item categories, supplier names, regions served), ready to add as keywords.
supply_chain_hub_cardsReadSupply chain cards for my day: my critical items at risk, requisitions waiting for my decision, supplier papers expiring, and this week's top signals (not verified).
update_item_supplyPrepares a changeMark an item critical or single-source, set its category, planning lead time, cover days and the buyer who watches it.
update_purchase_requisitionPrepares a changeChange a draft requisition (its maker only).
update_signal_feedPrepares a changeRename a feed, change its topic, or switch it off / on (owner or CFO).
update_signal_settingsPrepares a changeSwitch the feed reader on or off for this company, set the trusted sites and the minimum relevance (owner or CFO).
update_supplier_profilePrepares a changeSet a supplier's type, regions, countries, qualification status and review date (owner, CFO, accountant, clerk, purchase).
withdraw_supplier_paperPrepares a changeWithdraw a supplier paper that was replaced or wrong (it stays on record as withdrawn; nothing is deleted).

tax

ToolKindWhat it does
add_pack_tax_codePrepares a changeAdd a company tax code that follows a pack rule (e.g.
cancel_einvoicePrepares a changeWithdraw a draft or confirmed (not yet submitted) e-invoice, with the reason.
cancel_tax_returnPrepares a changeWithdraw a draft or confirmed return snapshot, with the reason.
confirm_einvoicePrepares a changeA PERSON confirms the e-invoice they checked (content_hash as shown).
confirm_tax_returnPrepares a changeA PERSON confirms the figures they checked (content_hash = data_hash shown).
create_einvoice_draftPrepares a changePrepare the government e-invoice DRAFT of a posted sales invoice / credit note.
create_tax_return_draftPrepares a changeSave the working paper of a period as a draft snapshot for a person to check.
download_einvoice_fileReadThe e-invoice as a file (FBR JSON or ZATCA UBL XML) to check or to upload in the authority's portal.
enable_tax_packPrepares a changeSwitch a tax pack on (owner or CFO): saves the company's registration details and creates the pack's tax codes.
get_company_tax_packReadThis company's use of a pack: details, tax codes, e-invoice counts and what is still missing (plain sentences).
get_einvoiceReadOne e-invoice: summary (buyer, totals, QR text, hash), open issues and its history.
get_item_tax_profileReadAn item's tax profile: HS code, unit, sale type, retail price.
get_party_tax_profileReadA customer's tax profile: registration type and address as the tax authority wants them.
get_tax_packReadOne pack as data: the registration details it needs, its tax rules (with rates), the invoice fields and the return layout.
get_tax_returnReadOne saved tax return snapshot with its figures and history.
get_tax_working_paperReadThe tax return working paper of a period: output and input tax by rule, net payable, and anything not mapped to the pack.
list_company_tax_codesReadAll tax codes of the company and which pack rule each follows.
list_einvoicesReadE-invoices of the company, newest first.
list_invoices_ready_for_einvoiceReadPosted sales invoices and credit notes that have no e-invoice yet — the ones a person can prepare next.
list_tax_packsReadThe country tax packs (Pakistan FBR, Saudi ZATCA) and whether this company has switched each on.
list_tax_returnsReadSaved tax return snapshots.
list_withholding_categoriesReadWithholding categories of the company's active tax packs, for deduction lines on receipts and payments (rates are the company's tax adviser's, never ours).
mark_tax_return_filedPrepares a changeWrite down that a person filed the confirmed return with the authority, with the authority's reference.
record_einvoice_resultPrepares a changeWrite down the authority's answer (accepted + reference, or rejected + why), e.g.
refresh_einvoice_draftPrepares a changeRebuild a DRAFT after fixing the customer / item profile or the pack details.
set_item_tax_profilePrepares a changeSet an item's tax profile (only the fields you send change).
set_party_tax_profilePrepares a changeSet a customer's tax profile (only the fields you send change).
submit_einvoicePrepares a changeSend a CONFIRMED e-invoice to the tax authority through the company's connection.
update_tax_pack_settingsPrepares a changeChange the registration details of a switched-on pack (owner or CFO).

verify

ToolKindWhat it does
get_verify_settingsReadWhether the public verification page of this company's printed documents shows the total.
revoke_document_verificationPrepares a changeRevoke the public verification code of one printed document, with the reason (owner, CFO or accountant).
set_verify_settingsPrepares a changeShow or hide the total on the public verification page (owner or CFO).

verticals

ToolKindWhat it does
list_verticalsReadThe industry sections of this company (Learning now; Community, Laboratory, Hospital later) and whether each is on.
set_verticalPrepares a changeSwitch an industry section on or off (company owner only).

work

ToolKindWhat it does
add_project_milestonePrepares a changeAdd a milestone with an optional due date (project lead or owner / CFO / accountant).
create_work_taskPrepares a changeGive a task to a member: due date, repeat, escalation, priority, project / milestone, link to any record.
finish_project_milestonePrepares a changeMark a milestone done (all its tasks finished), or reopen it.
get_work_projectReadOne project: people, milestones (at risk when open tasks outnumber the days left) and progress.
get_work_taskReadOne task with its plan (repeat, snooze, escalation), project and linked record.
list_work_projectsReadProjects as work: people, milestones and task progress (% of tasks done).
list_work_tasksReadTasks: mine, given by me, my team's (owner / CFO see all; others their projects'), or one project's.
move_work_taskPrepares a changeMove a task on the board: to do, doing or waiting (mark it done to finish it).
plan_work_taskPrepares a changeChange a task you gave: due date, repeat, escalation or priority (a new due date restarts reminders and escalation).
set_project_memberPrepares a changeAdd a member to a project as lead or member, or remove them (project lead or owner / CFO / accountant).
snooze_work_taskPrepares a changeSnooze your task until a date (it comes back with a notice); until=null ends the snooze.

workspace

ToolKindWhat it does
get_context_actionsReadThe right-click actions I may use on one record (open, copy link, task, note, share, attach, print, history, ask Star).
get_my_workspaceReadMy theme, my screen layouts, the company's brand colour and default layouts, and whether I may change the company's.
get_screen_layoutReadThe layout I see on one screen: mine, else the company default, else the standard.
get_share_limitsReadThe sharing cap in force (own mail account: the company's choice; our system address: our fixed cap, which can only be lowered).
list_company_peopleReadPeople of this company for the @-mention picker (never anyone outside the company; never me).
mark_whats_new_seenPrepares a changeI have read "What's new" up to this release.
reset_screen_layoutPrepares a changeReset one screen of mine: back to the company default (or the standard).
save_screen_layoutPrepares a changeSave MY layout of one screen (cards moved / resized / hidden / coloured, table columns, collapsed groups).
set_company_brandPrepares a changeOwner / CFO: the company's brand colour (buttons, highlights) for everyone in the company.
set_company_screen_defaultPrepares a changeOwner / CFO: make a layout the company default of one screen (null = clear).
set_my_themePrepares a changeMy look: light / dark, density, text and background colour (must stay readable), accent colour.
set_share_limitsPrepares a changeOwner / CFO: how many people one person may mail per hour and the company per day.
share_by_emailPrepares a changeSend it to @people: e-mail a link to a record or screen to people of this company whose role may see it.
suggest_next_actionsReadSuggest me: the next best actions for me on this screen, each counted from the company's real records just now.