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
- Reads run as you, with your role.
- Changes are prepared, not done. A tool that would change data returns a prepared card. A person opens the app and confirms it; the MCP client has no tool to confirm.
- Approving, posting and reversing money stay with a person in the app.
- Tool calls count against an hourly allowance per person.
Connect
- In Settings → API keys, create a key with the
mcpscope andread(addwriteif the assistant should prepare changes). - Configure your MCP client with the server address
https://nrerp.khanwco.net/api/ameen/mcpand the headerAuthorization: Bearer <your key>. - 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
| Tool | Kind | What it does |
|---|---|---|
account_ledger | Read | One 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_accounts | Prepares a change | Add accounts to the chart (owner, CFO or accountant). |
list_accounts | Read | The chart of accounts. |
audit
| Tool | Kind | What it does |
|---|---|---|
verify_chain | Read | Recompute the tamper-evident hash chain of every posted entry; reports the first entry that was altered. |
backup
| Tool | Kind | What it does |
|---|---|---|
backup_history | Read | Backup History |
backup_link | Prepares a change | Backup Link |
download_backup | Read | The archive, streamed. |
email_backup_link | Prepares a change | E-mail the download link to the signed-in admin's OWN address (never anyone else). |
get_backup | Read | Get Backup |
get_backup_schedule | Read | Get Backup Schedule |
list_backups | Read | List Backups |
make_backup | Prepares a change | Start a complete backup of this company (books, parties, stock, documents, files, settings, people without passwords). |
preview_backup | Prepares a change | Upload a backup (.zip, as the request body) and see what it holds and what would change in this company. |
resume_backup | Prepares a change | Resume Backup |
set_backup_schedule | Prepares a change | Set Backup Schedule |
bank
| Tool | Kind | What it does |
|---|---|---|
add_bank_account | Prepares a change | Link a postable asset account of the chart as a bank or cash account in one currency (owner, CFO or accountant). |
auto_match | Prepares a change | Match 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_transfer | Prepares a change | Money 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_line | Prepares a change | Explain an unmatched statement line with a DRAFT: a journal entry (counter account, e.g. |
get_bank_account | Read | One bank or cash account with its book balance as of a date (default today). |
get_statement_line | Read | One statement line: date, amount (+ in / − out), text, whether it is matched and any draft made from it. |
import_statement | Prepares a change | Import a bank statement file (CSV, OFX or MT940 text) into this bank account. |
list_bank_accounts | Read | Every bank and cash account with its book balance (bank currency and base) as of a date (default today). |
list_statement_lines | Read | Statement lines of a bank account (oldest first); filter matched / unmatched and by date. |
manual_match | Prepares a change | Tie a statement line to one or more posted ledger lines of the same bank account that add up to it exactly. |
suggest_matches | Read | Unmatched ledger lines that could be this statement line, best first, with their confidence (0..1). |
unmatch | Prepares a change | Undo the match of a statement line (recorded: who and when; the match stays in history). |
companies
| Tool | Kind | What it does |
|---|---|---|
create_company | Prepares a change | Create another company with you as its owner (default approval matrix included). |
get_subscription | Read | This company's kind, plan, status (active / expired = read-only), trial end, features and how much of each is used. |
list_my_companies | Read | The companies you belong to: your role, personal or commercial, the plan and whether it is active or expired (read-only). |
company e-mail
| Tool | Kind | What it does |
|---|---|---|
connect_mail | Prepares a change | Log in to the company's mail server with this password; when it works the password is saved encrypted. |
find_mail_settings | Prepares a change | Find the mail server for an address, the way mail apps do (known providers, autoconfig, Autodiscover, DNS, MX, trials). |
get_mail_setup | Read | The company's own e-mail address and server, if connected. |
mail_history | Read | Mail History |
mail_oauth_start | Read | Hook for 'Sign in with Google / Microsoft' (OAuth2 XOAUTH2 for SMTP). |
remove_mail | Prepares a change | Forget the company address and its password. |
test_mail | Prepares a change | Send ONE test message from the company address to YOUR OWN address. |
crm
| Tool | Kind | What it does |
|---|---|---|
add_crm_note | Prepares a change | Add a note to a contact, lead or deal timeline (kept as written, with who and when). |
convert_lead | Prepares a change | Make the lead a customer (an explicit step): a new customer and a contact at it; its open deals move to the customer. |
create_contact | Prepares a change | Add a person at one or more customers / vendors. |
create_deal | Prepares a change | Open a deal with a customer or a lead, with its expected value in the company's currency. |
create_lead | Prepares a change | Add a lead. |
customer_overview | Read | Customer / vendor 360: contacts, deals, open tasks, recent activities, documents and the balance (overdue part too). |
get_contact | Read | One contact: their customers / vendors, notes timeline, activities and open tasks. |
get_deal | Read | One deal: its stage history, notes, activities, tasks and the quote prepared from it. |
get_lead | Read | One lead with its notes, activities, tasks and deals. |
link_contact_party | Prepares a change | Link a contact to another customer / vendor (or unlink=true). |
list_contacts | Read | Contacts (people at customers / vendors) you may see; search by name, job, phone, e-mail or company. |
list_crm_activities | Read | Calls, meetings, e-mails, visits and WhatsApp notes logged by hand, newest first (filter by contact, customer, deal, lead or mine). |
list_crm_parties | Read | Customers / vendors you may see, with how many contacts and open deals each has. |
list_deals | Read | Deals in the pipeline (default: open ones), in stage order. |
list_leads | Read | Leads (possible customers not yet in the books), newest first. |
list_pipeline_stages | Read | The company's pipeline stages in board order (the first look creates the starting set, which admins can rename). |
log_crm_activity | Prepares a change | Log a call / meeting / e-mail / visit / WhatsApp note with a contact, customer, deal or lead; optionally set the follow-up task. |
move_deal | Prepares a change | Move a deal to another stage. |
pipeline_forecast | Read | Pipeline forecast: open value per stage, weighted by each stage's chance, won / lost totals and the lost reasons. |
prepare_deal_quote | Prepares a change | Prepare a sales quote DRAFT for the deal's customer. |
set_lead_status | Prepares a change | Mark a lead qualified, or dropped with a reason. |
set_pipeline_stages | Prepares a change | Rename, reorder, add or close pipeline stages (owner / CFO). |
update_contact | Prepares a change | Change a contact's details, or close it (active=false). |
update_deal | Prepares a change | Change an open deal's title, value, expected close date, owner, contact or source. |
customisation
| Tool | Kind | What it does |
|---|---|---|
add_menu_tag | Prepares a change | Add a word people search with for a menu item (any language), for me or for the whole company (owner / CFO). |
collapse_all_menus | Prepares a change | Close every group of my menu. |
expand_all_menus | Prepares a change | Open every group of my menu. |
get_labels | Read | This company's renamed labels for a language: {key: label} — only the overrides. |
get_my_ui_preferences | Read | My menu order, colours, open groups, my names and words for menu items, plus the company's words. |
label_history | Read | Who renamed which label, when, from what to what (newest first). |
move_menu_group | Prepares a change | Move one menu group of MY menu to a position (0 = top). |
remove_menu_tag | Prepares a change | Remove a search word from a menu item (mine, or the company's: owner / CFO). |
rename_menu_item | Prepares a change | Rename a menu item, form or field for me, or for the whole company (owner / CFO). |
reset_my_preferences | Prepares a change | Reset to standard: put MY menu (and / or my names and words) back to the company standard. |
save_my_menu_layout | Prepares a change | Save my whole menu layout (null = back to standard). |
set_company_menu_tags | Prepares a change | The company's own search words for menu items (owner / CFO); everyone in the company finds menus by them. |
set_labels | Prepares a change | Rename labels for this company and language (owner, CFO or a member allowed to customise). |
set_menu_colour | Prepares a change | Give a group of MY menu a colour: a swatch, a text colour and / or a highlight background (must stay readable: 4.5:1). |
dashboards
| Tool | Kind | What it does |
|---|---|---|
dashboard_data | Read | Every widget's data in one call. |
dashboard_source_data | Read | One 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_sources | Read | The 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_dashboard | Prepares a change | Delete one of your dashboards. |
get_dashboard | Read | One dashboard you own or that is shared with your role. |
list_dashboards | Read | Your dashboards (default first) and the ones shared with your role. |
save_dashboard | Prepares a change | Create (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
| Tool | Kind | What it does |
|---|---|---|
add_item | Prepares a change | Add an item or service (owner, CFO, accountant, clerk, sales or purchase). |
add_party | Prepares a change | Add a customer, a vendor or both (owner, CFO, accountant, clerk, sales or purchase). |
approve_document | Prepares a change | Approve a submitted document (never your own; your role's limit must cover the amount). |
cancel_document | Prepares a change | Cancel a document that is not posted (a posted one is corrected by a credit / debit note). |
copy_document | Prepares a change | Make the next document from this one as a DRAFT (quote → order → invoice, PO → goods received → bill). |
create_credit_note | Prepares a change | DRAFT credit note for a posted sales invoice (whole invoice, or the lines given); it settles the invoice when posted. |
create_debit_note | Prepares a change | DRAFT debit note for a posted purchase bill (returns, price corrections). |
create_document | Prepares a change | Prepare 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_document | Read | One 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_setup | Read | Is the company ready for invoices and bills (control accounts, posting rules, numbering)? |
list_cash_accounts | Read | The company's registered bank and cash accounts, for receipts and payments (a strict choice, not free text). |
list_documents | Read | Sales (side=customer) or purchase (side=vendor) documents, newest first; filter by type, status and party code. |
list_items | Read | Items and services with prices and default tax code. |
list_parties | Read | Customers (side=customer), vendors (side=vendor) or both. |
list_tax_codes | Read | The company's tax codes and rates. |
mark_control_account | Prepares a change | Make one more account a receivable / payable control account (owner or CFO), e.g. |
post_document | Prepares a change | Post an APPROVED document to the books (owner, CFO or accountant): builds its journal entry, numbers it, settles what it allocates. |
print_document | Read | The 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_document | Prepares a change | Send a submitted or approved document back to its maker as a draft, with the reason. |
setup_documents | Prepares a change | Make 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_document | Prepares a change | Send 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_document | Prepares a change | Replace a DRAFT's content (only drafts change; send a submitted one back first). |
foreign-exchange
| Tool | Kind | What it does |
|---|---|---|
cancel_revaluation | Prepares a change | Drop a revaluation that is not posted (it stays as cancelled; its draft entry can never post). |
fetch_rate | Prepares a change | The 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_settings | Read | The exchange gain/loss accounts (realised and unrealised); null when foreign exchange is not set up. |
get_revaluation | Read | One revaluation with every line it revalued, its entry and (once posted) its reversal. |
list_rates | Read | The rate table (base-currency units per 1 foreign unit), by currency and date. |
list_revaluations | Read | Revaluations, newest first; filter by status. |
post_revaluation | Prepares a change | Post an APPROVED revaluation (owner, CFO or accountant) together with its reversal dated the next day. |
prepare_revaluation | Prepares a change | Prepare the period-end revaluation as DRAFTS (one per foreign currency with something to adjust). |
preview_revaluation | Read | What 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_on | Read | The rate in force on a day (the latest on or before it); refused when there is none. |
set_rate | Prepares a change | Record or correct the rate of a currency on a date (owner, CFO or accountant). |
setup_fx | Prepares a change | Choose the exchange gain/loss accounts (owner or CFO; postable income/expense accounts). |
hub
| Tool | Kind | What it does |
|---|---|---|
add_agenda_item | Prepares a change | Add an agenda point (organizer or minute-taker). |
cancel_meeting | Prepares a change | Cancel a planned meeting (organizer). |
create_hub_task | Prepares a change | Give a task to a member (optionally about a transaction). |
create_meeting | Prepares a change | Plan a meeting with its agenda and people (you are the organizer). |
finish_hub_task | Prepares a change | Mark your task done (with a note), or cancel a task you gave. |
get_meeting | Read | One meeting: agenda, people, discussion, minutes, decisions and their tasks. |
get_record_thread | Read | The discussion on a transaction or a customer / vendor (for people who may open it). |
invite_people | Prepares a change | Invite members (organizer or minute-taker). |
list_meetings | Read | Meetings you may see (company-wide ones and those you are invited to), newest first. |
my_day | Read | What needs you today: tasks overdue / today / this week, meetings today and tomorrow, unread mentions, approvals waiting. |
my_hub_tasks | Read | Tasks for you and tasks you gave. |
post_in_meeting | Prepares a change | Write in the meeting's discussion; tag members with mentions (they get a notice). |
post_on_record | Prepares a change | Write in a transaction's / customer's / vendor's discussion; tag people (they get a notice). |
record_decision | Prepares a change | Record a decision and its action items; each action item becomes a task (To-Do) for its person. |
write_minutes | Prepares a change | Write the minutes (organizer or minute-taker); final=true freezes them (organizer). |
import
| Tool | Kind | What it does |
|---|---|---|
discard_import | Prepares a change | Take back an import that was never posted: every draft, account, party and added person it created is removed. |
explain_import_difference | Prepares a change | Write down why one account differs from the old system's trial balance (a person's judgement; it is kept with the import). |
get_import | Read | One import: status, what the file contains, errors and skipped records, mapping, progress, verification, history. |
list_imports | Read | Imports of this company, newest first. |
post_import | Prepares a change | A DIFFERENT authorised person approves and posts the submitted entries (or the reversal entries of a reversing import). |
reverse_import | Prepares a change | Take back a POSTED import with reversal entries (another person posts them with the post step). |
set_import_mapping | Prepares a change | How to read the package: old role → new role, account type corrections, suspense account, which old years to lock. |
stage_import | Prepares a change | Create the accounts, parties, items and every voucher as DRAFTS (nothing is posted). |
stage_import_party_openings | Prepares a change | After 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_import | Prepares a change | Send every staged draft for approval (the person who staged it). |
upload_import_package | Prepares a change | Upload an import package (JSON). |
upload_legacy_rows | Prepares a change | Upload rows copied from the OLD ISOERP (a copy of its database, never the live one). |
verify_import | Read | Compare the staged books with the package and with the old system's own trial balance, account by account. |
inventory
| Tool | Kind | What it does |
|---|---|---|
add_warehouse | Prepares a change | Add a warehouse (owner, CFO, accountant or warehouse; the plan must include inventory). |
approve_stock_doc | Prepares a change | Approve a submitted stock document. |
cancel_stock_doc | Prepares a change | Cancel a stock document that is not posted, with a reason (it stays in history). |
create_stock_adjustment | Prepares a change | Prepare a DRAFT stock adjustment in one warehouse: + found / − lost per item (stock coming in may carry a unit cost). |
create_stock_transfer | Prepares a change | Prepare a DRAFT transfer between two warehouses (quantities above zero; stock moves at its cost). |
get_inventory_settings | Read | The 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_stock | Read | An item's cost method, COGS account, reorder level / quantity and quantity on hand. |
get_stock_doc | Read | One stock adjustment or transfer with its lines, status, maker, approver and journal number once posted. |
get_warehouse | Read | One warehouse by code. |
get_warehouse_location | Read | A warehouse's place and its weather now / next days (cached; 'unavailable' when the service does not answer). |
list_stock_docs | Read | Stock adjustments and transfers, newest first; filter by kind and status. |
list_warehouses | Read | Every warehouse (store, shop, yard) of this company, closed ones too. |
post_stock_doc | Prepares a change | Post an APPROVED stock document: moves the stock at cost and posts its journal entry (SA-/ST- number). |
reject_stock_doc | Prepares a change | Send a submitted or approved stock document back to draft, with a reason. |
set_item_stock | Prepares a change | Set 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_location | Prepares a change | Where a warehouse / depot / site is (from the place search): for weather, wind and maps (owner, CFO, accountant, warehouse). |
setup_inventory | Prepares a change | Turn 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_doc | Prepares a change | Send a draft stock document for approval. |
update_inventory_settings | Prepares a change | Change the default COGS / adjustment / price-variance accounts, the default warehouse or whether negative stock is allowed (owner or CFO). |
update_warehouse | Prepares a change | Rename, close (active=false — only when it holds no stock) or reopen a warehouse. |
journal
| Tool | Kind | What it does |
|---|---|---|
approval_context | Read | For 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_inbox | Read | Entries waiting for YOUR approval: submitted, not made by you, and within your approval limit. |
approve_entry | Prepares a change | Approve a submitted entry. |
create_draft | Prepares a change | Create a journal entry as a draft. |
get_entry | Read | One entry with its lines and its full approval history (who, what, when, why). |
list_entries | Read | Journal entries, newest first, 50 per page by default; filter by status and date. |
my_pending_items | Read | What 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_entry | Prepares a change | Post an approved entry to the books: it gets its number and joins the tamper-evident chain. |
reject_entry | Prepares a change | Send a submitted or approved entry back to draft, with a reason. |
reverse_entry | Prepares a change | Correct a posted entry: creates an opposite DRAFT that goes through the same approval before it posts. |
submit_entry | Prepares a change | Send a draft for approval. |
update_draft_entry | Prepares a change | Change a DRAFT entry: date, memo, currency and/or all its lines (it must still balance). |
learning
| Tool | Kind | What it does |
|---|---|---|
lms_add_guardian | Prepares a change | Link a guardian to a learner (read-only view of the learner's courses and certificates when they sign in). |
lms_add_lesson | Prepares a change | Add a lesson to a module: text, or a link to a file or video (https). |
lms_add_module | Prepares a change | Add a module (a chapter) to a course. |
lms_certificate_chain_check | Read | Re-check every certificate this company issued: hashes, links between them, signatures, no gaps. |
lms_create_assessment | Prepares a change | Add a quiz (multiple choice, true/false, short answer) with its pass mark and allowed attempts, as a draft. |
lms_create_cohort | Prepares a change | Add a class (cohort / batch) to a course. |
lms_create_course | Prepares a change | Create a course as a draft (Learning admins). |
lms_create_learner | Prepares a change | Add a learner (the minimum: name; e-mail for sign-in; birth year only to know a minor). |
lms_create_session | Prepares a change | Plan a class session (for the whole course or one class). |
lms_delete_lesson | Prepares a change | Remove a lesson nobody has done yet (otherwise mark it not required). |
lms_draft_tuition_invoice | Prepares a change | Draft the tuition invoice for an enrolment (a DRAFT sales invoice; a person submits, approves and posts it in Sales). |
lms_enrol | Prepares a change | Enrol a learner in a published course (a learner under 18 needs the guardian's enrolment consent first). |
lms_erase_learner | Prepares a change | Erase a learner's personal data on request (name, contacts, written answers; a public check that printed the full name is withdrawn). |
lms_export_learner | Read | Everything held on one learner, as one file (privacy request). |
lms_get_certificate | Read | One certificate with its public verification link and QR code (to print). |
lms_get_course | Read | One course: modules, lessons, assessments with questions and answers, classes, instructors, announcements. |
lms_get_learner | Read | One learner: profile, guardians, consents and courses (instructors see only their courses, no contacts). |
lms_get_session | Read | One session with its learners and their attendance. |
lms_gradebook | Read | Gradebook: per learner progress, best score and attempts per quiz, attendance and certificate. |
lms_invite | Prepares a change | E-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_certificate | Prepares a change | Issue the certificate of a PASSED course: number, tamper-evident public code and QR. |
lms_list_certificates | Read | Certificates issued (admins: all; instructors: their courses). |
lms_list_courses | Read | Courses (admins: all; instructors: the ones they teach) with enrolled and passed counts. |
lms_list_enrolments | Read | Learners of a course with their status and progress. |
lms_list_learners | Read | Learners (admins: all with e-mail; instructors: names of learners in their courses). |
lms_list_sessions | Read | Class sessions of a course with how many attended. |
lms_list_staff | Read | Members and their Learning parts (admin, instructor). |
lms_mark_attendance | Prepares a change | Mark attendance (present, absent, late, excused); optionally mark the session held or cancelled. |
lms_my_access | Read | Is Learning on for this company, and what is my part in it (admin / instructor / none). |
lms_post_announcement | Prepares a change | Post an announcement to a course's learners (or one class). |
lms_record_consent | Prepares a change | Record a consent answer (who accepted what, which text version, now). |
lms_revoke_certificate | Prepares a change | Revoke a certificate, with the reason (Learning admins). |
lms_set_instructors | Prepares a change | Who teaches this course (members with the instructor part). |
lms_set_staff | Prepares a change | Give or take a Learning part (admin or instructor) for a member. |
lms_update_assessment | Prepares a change | Change or publish a quiz (only before any learner has taken it). |
lms_update_course | Prepares a change | Change a course; publish (needs a lesson) or archive it. |
lms_update_learner | Prepares a change | Change a learner's details. |
lms_update_lesson | Prepares a change | Change a lesson. |
lms_withdraw | Prepares a change | Withdraw an active enrolment (a completed course stays completed). |
learning-me
| Tool | Kind | What it does |
|---|---|---|
lms_accept_invitation | Prepares a change | Accept a course invitation link (only with the e-mail address it was sent to). |
lms_lesson_done | Prepares a change | Mark a lesson as done. |
lms_me | Read | My learning here: my courses and progress, announcements, upcoming sessions, courses I may join; for a guardian, the wards. |
lms_my_assessment | Read | A quiz to take: its questions (never the answers) and attempts left. |
lms_my_certificate | Read | My certificate (or my ward's) with its verification link and QR code. |
lms_my_course | Read | One of my courses: lessons (done or not), quizzes with attempts left and best score, announcements, certificate. |
lms_my_places | Read | The schools / academies where I am a learner or guardian. |
lms_self_enrol | Prepares a change | Join a course that allows self-enrolment (adults only). |
lms_submit_attempt | Prepares a change | Submit my answers: scored at once against the pass mark; uses one attempt. |
lookups
| Tool | Kind | What it does |
|---|---|---|
add_missing_bank | Prepares a change | Add a bank missing from the list ('other'); refused when it is already there under the same name or SWIFT. |
find_banks | Read | Banks by name (or SWIFT/BIC), optionally in one country first; includes banks your company added. |
find_countries | Read | Countries by name (English / Urdu / Arabic), ISO code or dial code: flag, dial code, currency, languages. |
find_currencies | Read | Currencies by code, name, symbol or country ('yen', 'JPY', 'Japan', 'جاپان' all find Japanese Yen): symbol, minor units. |
find_places | Read | A place name to coordinates (OpenStreetMap; looked up when you press Enter, cached; only the place name goes out). |
lookup_sources | Read | Where every list and outside service comes from: licence, limits, attribution, last success. |
weather_at | Read | Weather now (temperature, humidity, wind) and the next days at a coordinate; cached one hour; 'unavailable' when the service does not answer. |
members
| Tool | Kind | What it does |
|---|---|---|
add_member | Prepares a change | Add a person to this company with a role (owner or CFO only; only an owner can make another owner). |
get_member_permissions | Read | A member's extra permissions on top of their role (e.g. |
list_members | Read | Everyone in this company with their role. |
resend_invite | Prepares a change | A 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_permissions | Prepares a change | Set a member's extra permissions (owner or CFO). |
notifications
| Tool | Kind | What it does |
|---|---|---|
list_notifications | Read | Your notifications, newest first. |
mark_notification_read | Prepares a change | Mark one of your notifications read. |
mark_notifications_read | Prepares a change | Mark your notifications read — the given ids, or all of them when ids is left out. |
notification_summary | Read | How many unread bell notices and open to-dos you have (for badges). |
organisation
| Tool | Kind | What it does |
|---|---|---|
create_branch | Prepares a change | Add a branch (owner, CFO or accountant; within the plan's limit). |
create_cost_centre | Prepares a change | Add a cost centre (owner, CFO or accountant; within the plan's limit). |
create_project | Prepares a change | Add a project (owner, CFO or accountant; within the plan's limit). |
get_branch | Read | One branch. |
get_cost_centre | Read | One cost centre. |
get_project | Read | One project. |
list_branches | Read | Every branch of this company (closed ones too unless include_closed=false). |
list_cost_centres | Read | Every cost centre of this company (closed ones too unless include_closed=false). |
list_projects | Read | Every project of this company (closed ones too unless include_closed=false). |
update_branch | Prepares a change | Rename, close (active=false) or reopen a branch. |
update_cost_centre | Prepares a change | Rename, close (active=false) or reopen a cost centre. |
update_project | Prepares a change | Rename, close (active=false) or reopen a project, or change its branch and dates. |
periods
| Tool | Kind | What it does |
|---|---|---|
list_periods | Read | Accounting periods and whether each is open or locked. |
lock_period | Prepares a change | Lock the period starting on this date (owner or CFO). |
open_period | Prepares a change | Open an accounting period (owner, CFO or accountant). |
plans
| Tool | Kind | What it does |
|---|---|---|
list_plans | Read | Every plan and what it includes (users, branches, projects, cost centres, modules). |
records
| Tool | Kind | What it does |
|---|---|---|
attach_file | Prepares a change | Attach a file (PDF, photo, Excel/CSV, Word, text) to a record. |
correct_attachment_text | Prepares a change | Correct what the machine read (owner, CFO, accountant); the machine-read text is kept as it was. |
get_attachment_info | Read | One file's details and read text. |
get_record_notes | Read | Description and remarks of a record (any transaction type). |
list_record_attachments | Read | Files of a record, with the reading status (pending / done / failed / skipped), the read text and removed files (on record). |
remove_attachment | Prepares a change | Remove a file (soft: it stays on record as removed, with who, when and why). |
set_record_notes | Prepares a change | Write the description / remarks of a record (allowed after posting too; every change is kept in its history). |
report-studio
| Tool | Kind | What it does |
|---|---|---|
delete_custom_report | Prepares a change | Delete one of your own saved reports. |
export_custom_report | Read | A saved report as JSON, printable HTML, PDF, Excel or CSV (up to its row limit). |
get_custom_report | Read | One saved report with its definition. |
list_custom_reports | Read | Your saved reports and the ones shared with your role. |
list_report_datasets | Read | What your role may build reports from: datasets, their fields (type, allowed totals, date groupings). |
preview_custom_report | Prepares a change | Run a report definition now without saving it (the builder's live preview). |
run_custom_report | Read | Run a saved report with YOUR role's view of the data (start / end override its period). |
save_custom_report | Prepares a change | Save a report definition under a name (optionally shared with roles — owner/CFO only). |
update_custom_report | Prepares a change | Replace one of your own saved reports. |
reports
| Tool | Kind | What it does |
|---|---|---|
aging_report | Read | Who owes us (receivable) / whom we owe (payable), by how overdue, in base currency. |
balance_sheet | Read | Assets, liabilities, equity and accumulated profit as of a date (default today). |
export_report | Read | Any 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_summary | Read | Realised and unrealised exchange results posted between two dates (base currency; + = gain). |
grni_report | Read | Goods 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_reports | Read | The reports your role may open and export, with their parameters and formats. |
party_statement | Read | A customer's or vendor's statement for a period: opening, each posted document, running balance, closing. |
profit_and_loss | Read | Income, expenses and net profit between two dates (inclusive). |
profit_and_loss_by | Read | Net profit per branch, project or cost centre between two dates, plus an "unassigned" row; the rows add up to the P&L. |
reconciliation_report | Read | Bank reconciliation as of a date (default today): statement balance, book balance, uncleared ledger lines, unmatched statement lines and the difference (0 when reconciled). |
reorder_report | Read | Stock items at or below their reorder level, with the quantity to order. |
stock_ledger | Read | Every movement of one item between two dates: opening, each move (source number, warehouse, in/out, value, running quantity and value), closing. |
stock_valuation | Read | Quantity, 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_balance | Read | Trial balance as of a date (default today). |
search
| Tool | Kind | What it does |
|---|---|---|
search_records | Read | Find 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
| Tool | Kind | What it does |
|---|---|---|
get_approval_settings | Read | This 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_limit | Prepares a change | The role may no longer approve this document type (owner or CFO; audited; never the last unlimited approver). |
set_approval_limit | Prepares a change | Set what a role may approve for a document type (max_amount null = no limit). |
set_approval_settings | Prepares a change | Change the approval settings (owner or CFO). |
supply_chain
| Tool | Kind | What it does |
|---|---|---|
add_item_source | Prepares a change | Approve a supplier as the primary source or an approved alternate for an item, with its channel (OEM, distributor, agent ...). |
add_requisition_offer | Prepares a change | Enter 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_feed | Prepares a change | Add an RSS / Atom feed (https, on a trusted site) to read: trade, chemicals, shipping, ports, news or prices (owner or CFO). |
add_signal_keyword | Prepares a change | Add a keyword with its weight (1-5) and what it points at; recent signals are scored again (owner, CFO or purchase). |
add_supplier_paper | Prepares a change | Record a supplier paper (quality certificate, registration, local-content certificate, authorisation letter ...) with its expiry. |
approve_purchase_requisition | Prepares a change | Approve a submitted requisition: never by its maker; the role and limit come from the company's approval rules. |
cancel_purchase_requisition | Prepares a change | Cancel a requisition that is not ordered yet (its maker, the owner or the CFO). |
choose_requisition_offer | Prepares a change | Choose the offer the purchase order will use (one per requisition). |
compare_requisition_offers | Read | Offers 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_requisition | Prepares a change | From an APPROVED requisition and its chosen offer, prepare a DRAFT purchase order (it then goes through the normal purchase-order approval). |
create_purchase_requisition | Prepares a change | Prepare a DRAFT purchase requisition (items, quantities, estimated prices, needed-by date, warehouse, reason). |
dismiss_supply_signal | Prepares a change | Hide a signal that is not useful (for everyone in the company). |
draft_requisition_from_suggestions | Prepares a change | Put the reorder suggestions of the chosen items into ONE DRAFT purchase requisition (nothing is ordered; a person submits it). |
get_item_supply | Read | One item's supply settings, its approved sources (primary and alternates with channel) and sourcing risks (single source ...). |
get_purchase_requisition | Read | One requisition with its lines, estimated value, status, who made / decided it, its history and its purchase order. |
get_signal_settings | Read | Whether this company's feeds are read, its trusted sites and the minimum relevance shown. |
get_supplier_scorecard | Read | One supplier's scorecard with its price history per item and the deliveries behind the numbers. |
get_supply_supplier | Read | One supplier's supply profile, its papers (certificates with expiry state) and the items it is an approved source for. |
list_critical_items | Read | Early 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_papers | Read | Supplier papers already expired or expiring within the given days, soonest first. |
list_item_categories | Read | The item categories in use, with how many items and critical items each has. |
list_item_supply | Read | Items with their supply settings: category, critical, single source, lead time, cover days, buyer and number of approved sources. |
list_purchase_requisitions | Read | Purchase requisitions, newest first; mine=true: the ones I made; waiting_me=true: submitted ones someone else made (for approvers). |
list_signal_feeds | Read | The feeds this company reads, with when each was last read and how it went. |
list_signal_keywords | Read | The company's own words that make a feed item relevant, and what each points at (category, supplier, region, item). |
list_supplier_scorecards | Read | Supplier 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_signals | Read | Signals 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_suppliers | Read | Suppliers (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_now | Prepares a change | Read one feed now (owner or CFO; the company's signals must be switched on). |
reject_purchase_requisition | Prepares a change | Send a submitted requisition back to its maker with the reason (never by its maker). |
remove_item_source | Prepares a change | The supplier is no longer an approved source of the item (kept on record as inactive). |
remove_requisition_offer | Prepares a change | Remove an offer typed in by mistake (not after the requisition is ordered). |
remove_signal_keyword | Prepares a change | Remove a keyword; recent signals are scored again (owner, CFO or purchase). |
reopen_purchase_requisition | Prepares a change | Turn a sent-back requisition into a draft again so its maker can fix it. |
submit_purchase_requisition | Prepares a change | Send a draft requisition for approval (its maker); it gets its PR number. |
suggest_requisition_suppliers | Read | For 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_keywords | Read | Words the company already uses (item categories, supplier names, regions served), ready to add as keywords. |
supply_chain_hub_cards | Read | Supply 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_supply | Prepares a change | Mark an item critical or single-source, set its category, planning lead time, cover days and the buyer who watches it. |
update_purchase_requisition | Prepares a change | Change a draft requisition (its maker only). |
update_signal_feed | Prepares a change | Rename a feed, change its topic, or switch it off / on (owner or CFO). |
update_signal_settings | Prepares a change | Switch the feed reader on or off for this company, set the trusted sites and the minimum relevance (owner or CFO). |
update_supplier_profile | Prepares a change | Set a supplier's type, regions, countries, qualification status and review date (owner, CFO, accountant, clerk, purchase). |
withdraw_supplier_paper | Prepares a change | Withdraw a supplier paper that was replaced or wrong (it stays on record as withdrawn; nothing is deleted). |
tax
| Tool | Kind | What it does |
|---|---|---|
add_pack_tax_code | Prepares a change | Add a company tax code that follows a pack rule (e.g. |
cancel_einvoice | Prepares a change | Withdraw a draft or confirmed (not yet submitted) e-invoice, with the reason. |
cancel_tax_return | Prepares a change | Withdraw a draft or confirmed return snapshot, with the reason. |
confirm_einvoice | Prepares a change | A PERSON confirms the e-invoice they checked (content_hash as shown). |
confirm_tax_return | Prepares a change | A PERSON confirms the figures they checked (content_hash = data_hash shown). |
create_einvoice_draft | Prepares a change | Prepare the government e-invoice DRAFT of a posted sales invoice / credit note. |
create_tax_return_draft | Prepares a change | Save the working paper of a period as a draft snapshot for a person to check. |
download_einvoice_file | Read | The e-invoice as a file (FBR JSON or ZATCA UBL XML) to check or to upload in the authority's portal. |
enable_tax_pack | Prepares a change | Switch a tax pack on (owner or CFO): saves the company's registration details and creates the pack's tax codes. |
get_company_tax_pack | Read | This company's use of a pack: details, tax codes, e-invoice counts and what is still missing (plain sentences). |
get_einvoice | Read | One e-invoice: summary (buyer, totals, QR text, hash), open issues and its history. |
get_item_tax_profile | Read | An item's tax profile: HS code, unit, sale type, retail price. |
get_party_tax_profile | Read | A customer's tax profile: registration type and address as the tax authority wants them. |
get_tax_pack | Read | One pack as data: the registration details it needs, its tax rules (with rates), the invoice fields and the return layout. |
get_tax_return | Read | One saved tax return snapshot with its figures and history. |
get_tax_working_paper | Read | The 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_codes | Read | All tax codes of the company and which pack rule each follows. |
list_einvoices | Read | E-invoices of the company, newest first. |
list_invoices_ready_for_einvoice | Read | Posted sales invoices and credit notes that have no e-invoice yet — the ones a person can prepare next. |
list_tax_packs | Read | The country tax packs (Pakistan FBR, Saudi ZATCA) and whether this company has switched each on. |
list_tax_returns | Read | Saved tax return snapshots. |
list_withholding_categories | Read | Withholding 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_filed | Prepares a change | Write down that a person filed the confirmed return with the authority, with the authority's reference. |
record_einvoice_result | Prepares a change | Write down the authority's answer (accepted + reference, or rejected + why), e.g. |
refresh_einvoice_draft | Prepares a change | Rebuild a DRAFT after fixing the customer / item profile or the pack details. |
set_item_tax_profile | Prepares a change | Set an item's tax profile (only the fields you send change). |
set_party_tax_profile | Prepares a change | Set a customer's tax profile (only the fields you send change). |
submit_einvoice | Prepares a change | Send a CONFIRMED e-invoice to the tax authority through the company's connection. |
update_tax_pack_settings | Prepares a change | Change the registration details of a switched-on pack (owner or CFO). |
verify
| Tool | Kind | What it does |
|---|---|---|
get_verify_settings | Read | Whether the public verification page of this company's printed documents shows the total. |
revoke_document_verification | Prepares a change | Revoke the public verification code of one printed document, with the reason (owner, CFO or accountant). |
set_verify_settings | Prepares a change | Show or hide the total on the public verification page (owner or CFO). |
verticals
| Tool | Kind | What it does |
|---|---|---|
list_verticals | Read | The industry sections of this company (Learning now; Community, Laboratory, Hospital later) and whether each is on. |
set_vertical | Prepares a change | Switch an industry section on or off (company owner only). |
work
| Tool | Kind | What it does |
|---|---|---|
add_project_milestone | Prepares a change | Add a milestone with an optional due date (project lead or owner / CFO / accountant). |
create_work_task | Prepares a change | Give a task to a member: due date, repeat, escalation, priority, project / milestone, link to any record. |
finish_project_milestone | Prepares a change | Mark a milestone done (all its tasks finished), or reopen it. |
get_work_project | Read | One project: people, milestones (at risk when open tasks outnumber the days left) and progress. |
get_work_task | Read | One task with its plan (repeat, snooze, escalation), project and linked record. |
list_work_projects | Read | Projects as work: people, milestones and task progress (% of tasks done). |
list_work_tasks | Read | Tasks: mine, given by me, my team's (owner / CFO see all; others their projects'), or one project's. |
move_work_task | Prepares a change | Move a task on the board: to do, doing or waiting (mark it done to finish it). |
plan_work_task | Prepares a change | Change a task you gave: due date, repeat, escalation or priority (a new due date restarts reminders and escalation). |
set_project_member | Prepares a change | Add a member to a project as lead or member, or remove them (project lead or owner / CFO / accountant). |
snooze_work_task | Prepares a change | Snooze your task until a date (it comes back with a notice); until=null ends the snooze. |
workspace
| Tool | Kind | What it does |
|---|---|---|
get_context_actions | Read | The right-click actions I may use on one record (open, copy link, task, note, share, attach, print, history, ask Star). |
get_my_workspace | Read | My theme, my screen layouts, the company's brand colour and default layouts, and whether I may change the company's. |
get_screen_layout | Read | The layout I see on one screen: mine, else the company default, else the standard. |
get_share_limits | Read | The sharing cap in force (own mail account: the company's choice; our system address: our fixed cap, which can only be lowered). |
list_company_people | Read | People of this company for the @-mention picker (never anyone outside the company; never me). |
mark_whats_new_seen | Prepares a change | I have read "What's new" up to this release. |
reset_screen_layout | Prepares a change | Reset one screen of mine: back to the company default (or the standard). |
save_screen_layout | Prepares a change | Save MY layout of one screen (cards moved / resized / hidden / coloured, table columns, collapsed groups). |
set_company_brand | Prepares a change | Owner / CFO: the company's brand colour (buttons, highlights) for everyone in the company. |
set_company_screen_default | Prepares a change | Owner / CFO: make a layout the company default of one screen (null = clear). |
set_my_theme | Prepares a change | My look: light / dark, density, text and background colour (must stay readable), accent colour. |
set_share_limits | Prepares a change | Owner / CFO: how many people one person may mail per hour and the company per day. |
share_by_email | Prepares a change | Send it to @people: e-mail a link to a record or screen to people of this company whose role may see it. |
suggest_next_actions | Read | Suggest me: the next best actions for me on this screen, each counted from the company's real records just now. |