Integration details
Description
Built for accountants, finance teams, and the businesses they serve. IFRS-first, multi-currency, multi-user by default. The 358 operations listed here are all reachable, but this extension does not load them all at once: it lists 3 meta-tools and loads the operations you need on demand, so it costs about 600 tokens of context instead of 78KB. Ask the agent "what can you do?" for the full map.
- Integration type
- Connector
- Verification status
Verified connectorVerified connectors are published by Anthropic or an approved partner and are eligible for organic discovery in Claude.- Platform
- Claude
- Primary Subcategory
- Accounting & Bookkeeping
- Secondary Subcategories
- None listed
- Brand
- Jaz
- Access
- Unknown
- First tracked
- 2026-08-11
- Tool count
- 358
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Get alerts for Jaz Accounting
Get updates when Jaz Accounting’s Discoverability Score or category rank changes.
Claude Discoverability Score
Jaz Accounting isn’t discoverable through Claude’s Connector picker
It runs as a local Claude Desktop Extension, so Claude cannot surface or score it there today.
No spam. Unsubscribe any time.
No spam. Unsubscribe any time.
What the current score measures

Remote Connectors Claude can surface from the Connector picker.
358 tools agents can invoke
Add an attachment to a business transaction. Provide EXACTLY ONE source: sourceUrl (downloaded here, uploaded as bytes), attachmentId (links existing), or a file attached to the call. Two is refused. Order documents (sale-quotes, sale-orders, purchase-requests, purchase-orders) support file/sourceUrl upload ONLY; attachmentId link-by-id is rejected for them. If this action involved a judgment call, record it (jot field or jot tool).
Create bank statement entries via JSON POST (1-100 records per call). For CSV/OFX file imports, use import_bank_statement instead. Fields per record: - amount (required): positive = cash-in, negative = cash-out - transactionDate (required): YYYY-MM-DD - description, payerOrPayee, reference: optional strings Returns {data: {errors: []}} on success. accountResourceId must be a bank-type CoA account (find via list_bank_accounts). If this action involved a judgment call, record it (jot field or jot tool).
Enable one or more currencies for the organization. If this action involved a judgment call, record it (jot field or jot tool).
Add or set an exchange rate for a currency. ALWAYS use this tool even when the user says "update rate"; it handles both new and existing rates. Rate direction is base→source (1 org-base unit = N of this currency); see the rate param before sending. Call list_currencies first to get valid currency codes. If this action involved a judgment call, record it (jot field or jot tool).
Create an employee (expense-claim member). claimProfileResourceId is REQUIRED (carries the employee balance account; the org default is NOT auto-applied). userResourceId is optional: omit for an offline employee with no login. Dedups by email. If this action involved a judgment call, record it (jot field or jot tool).
Apply a pre-configured bank rule (action shortcut) to a batch of bank statement entries (max 500). Async: returns a jobId. Poll search_background_jobs filtered by resourceId. The rule executes its configured action (e.g. RECONCILE_WITH_DIRECT_CASH_ENTRY) on each entry. If this action involved a judgment call, record it (jot field or jot tool).
Apply supplier credit note(s) to a bill. IMPORTANT: The credit note must be FINALIZED first (status UNAPPLIED, not DRAFT). If it is still a draft, call finalize_supplier_credit_note first. Then search_supplier_credit_notes with status UNAPPLIED to find available credits for the contact, and pass creditNoteResourceId and amountApplied for each. If this action involved a judgment call, record it (jot field or jot tool).
Apply customer credit note(s) to an invoice. You MUST call this tool to actually apply credits; do not just describe the steps. Steps: 1) search_customer_credit_notes with status UNAPPLIED for the same contact. 2) If CN is still DRAFT, call finalize_customer_credit_note first. 3) Call this tool with creditNoteResourceId and amountApplied for each CN. If this action involved a judgment call, record it (jot field or jot tool).
Approve a SUBMITTED claim (SUBMITTED → APPROVED). Approved claims become convertible to journals. If this action involved a judgment call, record it (jot field or jot tool).
Bind a login user to an OFFLINE employee (no user bound yet, e.g. imported without a binding email). Refused once bound: relink or unlink via update_employee. If this action involved a judgment call, record it (jot field or jot tool).
Bulk-approve SUBMITTED claims (ASYNC). Returns a job handle; poll search_background_jobs by jobId. Max 500 ids. If this action involved a judgment call, record it (jot field or jot tool).
Bulk-cancel claims with one shared reason (ASYNC). Returns a job handle; poll search_background_jobs by jobId. Max 500 ids. If this action involved a judgment call, record it (jot field or jot tool).
Create multiple contacts in one call. Deduplicates against existing contacts (exact name match). Returns per-contact result: created, skipped (duplicate), or failed. If this action involved a judgment call, record it (jot field or jot tool).
Bulk-delete claims (ASYNC; only DRAFT/REJECTED/CANCELLED are deletable). Returns a job handle; poll search_background_jobs by jobId. Max 500 ids. If this action involved a judgment call, record it (jot field or jot tool).
Finalize multiple draft transactions in one call. Attempts finalization for each item and returns per-item pass/fail results. Supports invoices, bills, and credit notes. If this action involved a judgment call, record it (jot field or jot tool).
Invite multiple users to the organization in one call. Accepts an array of user objects. Each user follows the same contract as invite_org_user. Returns per-user pass/fail results. If this action involved a judgment call, record it (jot field or jot tool).
Bulk-reject claims with one shared reason (ASYNC). Returns a job handle; poll search_background_jobs by jobId. Max 500 ids. If this action involved a judgment call, record it (jot field or jot tool).
Bulk-submit DRAFT claims (ASYNC). Returns a job handle {jobId,...}; poll search_background_jobs by jobId for per-item results. Max 500 ids. Each claim must have a reference; referenceless claims fail per-item with CLAIM_REFERENCE_REQUIRED_AT_SUBMIT (check the job result). If this action involved a judgment call, record it (jot field or jot tool).
Bulk-update journals; most common use is bulk-finalize (saveAsDraft: false on each row). Sync; per-row sequential execution; max 500 per call (a read + a write per row, ~2-4 min for a full 500). bulk_finalize_drafts only handles invoices/bills/credit-notes; journals need this. Common monthly-close pattern: search_journals(filter:{capsuleResourceId:{eq:<id>}, status:{eq:'DRAFT'}}) → map to {resourceId, saveAsDraft: false} → bulk_update_journals. Each row carries the same fields as update_journal (resourceId required + any of reference, valueDate, notes, tags, saveAsDraft). Omitted fields preserve existing. Response: { updated: [{resourceId}], failed: [{resourceId, error, errorCode, status}], updatedCount, failedCount }. Per-row execution: partial results are normal; retry only failed[].resourceId. errorCode + status come from the underlying JazApiError when available. If this action involved a judgment call, record it (jot field or jot tool).
Nested line items per bill (max 500 bills per call). Each row carries lineItems[] under its parent bill (scoped by billReference). Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. If this action involved a judgment call, record it (jot field or jot tool).
Max 500 bills per call. FLAT shape: ONE line per bill via `itemDescription` + `totalAmount` + `billAccountResourceId` at row level. For multi-line bills use `bulk_upsert_bill_line_items` instead; that variant takes nested `lineItems[]`. Natural key: `billReference` (rows sharing one within a batch are MERGED; last wins). Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. Dates are ISO 8601 only; dateFormat field was removed. If this action involved a judgment call, record it (jot field or jot tool).
Bulk create/update CoA entries (max 500). SYNC: returns { resourceIds, failedRows: [{rowIndex, columnName, columnValue, errorCode, errorMessage}], failedCount }; no jobId polling. PARTIAL_SUCCESS: failed rows surface in failedRows[]; others still succeed. resourceId per row → update; omit → create. Note: dedup is by NAME (not code); duplicate name surfaces ORGANIZATION_CHART_OF_ACCOUNT_DUPLICATED per row. Accepts all 23 accountType values (see create_account); common variants normalized via normalizeAccountType. Use for CoA imports / IFRS 18 migration / template seeding. For one-off creates with dedup, use create_account. If this action involved a judgment call, record it (jot field or jot tool).
Bulk create/update contacts (max 500). resourceId per row → update (partial; omitted fields preserve existing). Omit resourceId → create. Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. Per-row failures in errorDetails (NOT failedRows; that's the sync pattern). On PARTIAL_SUCCESS: succeeded rows are committed; re-submit only failed rowIndex entries. Whole-batch 422 (validate before submit): (1) each contact must have at least one of customer:true OR supplier:true (after defaults + backfill); (2) emails unique within a contact (case-insensitive after trim); (3) customerPaymentTerms / supplierPaymentTerms {name, value?}: CUSTOM needs value (positive whole days); a term is stored only for a side the contact is on; (4) no duplicate names within batch (after whitespace+case normalize); (5) billingAddress / shippingAddress: address AND country both required when an address object is provided. If this action involved a judgment call, record it (jot field or jot tool).
Max 500 exchange rates per call. Auto-enables currencies not yet enabled in the org; no need to call add_currency first. Requires rateDirection per rate. Response surfaces per-row failures: `failedRows[]` (each with rowIndex, columnName, columnValue, errorCode, errorMessage) + `failedCount` alongside `resourceIds[]` for successful inserts. Omitting `rateApplicableTo` defaults it to `rateApplicableFrom - 0.999ms` (no temporal gap). If this action involved a judgment call, record it (jot field or jot tool).
Max 500 customer credit notes per call. Natural key: creditNoteReference. Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. Dates are ISO 8601 only. If this action involved a judgment call, record it (jot field or jot tool).
Bulk create/update fixed assets (max 500). Natural key: reference. ⚠️ DATES ARE EPOCH MILLISECONDS here: purchaseDate and depreciationStartDate are numbers (e.g. 1745107200000), NOT the YYYY-MM-DD every other bulk-upsert takes. A date string → cryptic 400 "Invalid request body". Required per row: reference, registrationType. NEW also needs purchaseBusinessTransactionType + purchaseBusinessTransactionResourceId (the purchase LINE ITEM, not the bill/journal id); TRANSFER takes accumulatedDepreciationAtTransferDate + bookValueAtTransferDate. Recommended: typeCode, typeName, category, purchaseAmount, purchaseDate, effectiveLife, depreciationMethod + the three account UUIDv4s. ASYNC: returns jobId → poll search_background_jobs(filter:{resourceId:{eq:jobId}}); on PARTIAL_SUCCESS read data[0].errorDetails. If this action involved a judgment call, record it (jot field or jot tool).
Nested line items per invoice (max 500 invoices per call). Each row carries lineItems[] under its parent invoice (scoped by invoiceReference). Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. Dates are ISO 8601 only. If this action involved a judgment call, record it (jot field or jot tool).
Max 500 invoices per call. FLAT shape: ONE line per invoice via itemDescription + totalAmount + invoiceAccountResourceId at row level. For multi-line, use bulk_upsert_invoice_line_items (nested lineItems[]). Natural key: invoiceReference (rows sharing one within a batch are MERGED; last wins). resourceId does NOT update by id here; it is ignored and you get a duplicate. ASYNC: returns jobId → poll search_background_jobs(filter:{resourceId:{eq:jobId}}); PARTIAL_SUCCESS → data[0].errorDetails. Dates ISO 8601 (YYYY-MM-DD); dateFormat field removed. If this action involved a judgment call, record it (jot field or jot tool).
Max 500 items per call. Provide resourceId per item to update (partial: only changed fields needed, server preserves existing values). Omit resourceId to create (defaults: status=ACTIVE, itemCategory=NON_INVENTORY). If this action involved a judgment call, record it (jot field or jot tool).
Max 500 manual journals per call. NATURAL KEY: `journalReference` (NOT `reference`; every other bulk-upsert uses entityReference, this one is asymmetric). LEGS field: `journalEntries[]` (NOT `entries[]`; different from `clio journals create` which uses entries). A leg is `organizationAccountResourceId` + EXACTLY ONE of `debitAmount` / `creditAmount`; omit the unused side, do not send 0, and do NOT use the `accountResourceId`+`amount`+`type` shape `create_journal` takes. Debits must equal credits per journal. Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. Dates are ISO 8601 (YYYY-MM-DD) only; dateFormat field was removed. If this action involved a judgment call, record it (jot field or jot tool).
Max 500 supplier credit notes per call. Natural key: creditNoteReference. Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. Dates are ISO 8601 only. If this action involved a judgment call, record it (jot field or jot tool).
Cancel a DRAFT/SUBMITTED claim with a reason (→ CANCELLED). If this action involved a judgment call, record it (jot field or jot tool).
Cancel an active subscription. Prorates remaining period and stops future billing. Safe to call; subscriptions can be reactivated after cancellation. Always use this tool when the user asks to cancel a subscription. Must cancel before delete. If this action involved a judgment call, record it (jot field or jot tool).
Use this when the user points at a FOLDER, a .zip, a Dropbox / Google Drive / OneDrive folder share link, or a pile/batch of mixed documents. Sort a ZIP or share link of MIXED accounting documents: classifies each file into invoice / bill / customer credit note / supplier credit note / quote / order / purchase request / bank statement by its FOLDER NAME within the source (e.g. files under an "invoices/" folder become invoices), WITHOUT creating anything. Returns a manifest (per-file type + confidence + counts) plus a collectionId. If nothing is extractable it returns `hint` (why + what to do) and `summary.skippedExtensions`: relay it, do NOT call extract_documents; review it, then call extract_documents with that collectionId to create the drafts. The source is FETCHED BY THE JAZ SERVER: a direct .zip/file link, or a Dropbox / Google Drive / OneDrive share link. A local path works only when this tool runs on your own machine. If this action involved a judgment call, record it (jot field or jot tool).
Convert an APPROVED claim batch into journals (atomic write). valueDate (YYYY-MM-DD) required. Preview first and confirm erroredClaims is empty. idempotencyKey is auto-generated for safe retries (pass your own to dedup across calls). includeReimbursementPayout adds a books-only reimbursement DCE; real-money disburse is intentionally not exposed. If this action involved a judgment call, record it (jot field or jot tool).
BULK promote: finalize up to 500 draft business transactions to ACTIVE in ONE call, mixing any combination of invoices, bills, and credit notes (no per-type tools needed). Async; returns jobId → poll search_background_jobs by resourceId; PARTIAL_SUCCESS data[0].errorDetails. NOT idempotent: a second call on already-promoted drafts returns 422. Filter the draft list by status: DRAFT before submitting. Pair with validate_drafts for a pre-flight check on large batches. If this action involved a judgment call, record it (jot field or jot tool).
Convert a Purchase Request or Purchase Order (pick via documentType) into a Bill. Creates a NEW bill; NON-IDEMPOTENT: each call makes another bill. On a timeout or uncertain result, do NOT blind-retry; search bills for one already linked to this order (purchaseOrderResourceId / purchaseRequestResourceId) first. `reference` is required by the API; set autoReference:true for the org's next number. `saveAsDraft` defaults true (lands as a DRAFT). The source must not be VOID. If this action involved a judgment call, record it (jot field or jot tool).
Convert a Sale Quote or Sale Order (pick via documentType) into an Invoice. Creates a NEW invoice; NON-IDEMPOTENT: each call makes another invoice. On a timeout or uncertain result, do NOT blind-retry; search invoices for one already linked to this order (saleOrderResourceId / saleQuoteResourceId) first. `reference` is required by the API; set autoReference:true for the org's next number. `saveAsDraft` defaults true (lands as a DRAFT). The source must not be VOID. If this action involved a judgment call, record it (jot field or jot tool).
Create a new chart of accounts entry. Auto-checks for duplicates by name; returns existing account if found. Code must be unique. Account class is inferred from accountType. If this action involved a judgment call, record it (jot field or jot tool).
Bank reconciliation rule: auto-matches bank records. Use directly on request; don't just list existing. Required: name, appliesToReconciliationAccount (bank account UUID, no "ResourceId" suffix), configuration. configuration MUST nest under reconcileWithDirectCashEntry: reference (REQUIRED), amountAllocationType ("PERCENTAGE" | "FIXED"; don't send "FIXED_AND_PERCENTAGE"), percentageAllocation[] / fixedAllocation[] of { organizationAccountResourceId, amount }. Advanced: column-value mapping; amountSourceColumnKey + the *Map fields drive amount/account/tax/classifier/contact/tags from a bank column (amount XOR amountSourceColumnKey). searchFilter = the WHEN side; without it the rule is never suggested. Optional fields, the minimum payload, the mapping shape and the condition grammar: jaz-api skill (bank rules, 90d). Dynamic strings: {{bankReference}}, {{bankPayee}}, {{bankDescription}}. If this action involved a judgment call, record it (jot field or jot tool).
Create a new bill. Same rules as create_invoice: name not description, saveAsDraft defaults true, accountResourceId REQUIRED on lineItems for finalized bills (search accounts first, e.g. Operating Expense). When selecting a tax profile, use search_tax_profiles with appliesTo "purchase"; sales-only profiles cause 422. reference MUST be unique; use the SUPPLIER'S OWN invoice number. If the document genuinely has none, set autoReference:true for the org's next number. Never invent one. A duplicate guard (supplier + date + currency + amount) returns `_guard: duplicate_suspected` with the existing bill instead of creating; show it, retry with allowDuplicate only once the user confirms it is separate. Optional capsuleRecipe (PURCHASE base only: PREPAID_AMORTIZATION). Other recipes silently null here; pre-flight with preview_capsule_recipe. Mutex with capsuleResourceId. Rule 143. If this action involved a judgment call, record it (jot field or jot tool).
Create one or more bookmarks. categoryCode must be one of: AUDIT_AND_ASSURANCE, BANKING_AND_FINANCE, BUDGETS_AND_CONTROLS, EMPLOYEES_AND_PAYROLL, EXTERNAL_DOCUMENTS, GENERAL_INFORMATION, OWNERS_AND_DIRECTORS, TAXATION_AND_COMPLIANCE, WORKFLOWS_AND_PROCESSES. If this action involved a judgment call, record it (jot field or jot tool).
Create a business transaction (invoice/bill/credit note/quote/order/purchase request) from a SINGLE file (max 10 MB), a URL, or raw HTML (e.g. an email body) using AI extraction. Processing is async. Quotes/orders land DRAFT/PENDING: relay the result `next`. When the host conversation provides a file with the call, omit all source arguments; the file is used automatically. For a FOLDER, a .zip, a Dropbox/Drive/OneDrive folder share link, or several/mixed documents at once, use classify_documents (then extract_documents) instead, not this per-file. If this action involved a judgment call, record it (jot field or jot tool).
Create a new (legacy) capsule. List capsule types first to get the capsuleTypeResourceId. `title` is required and must be non-empty (blank/empty rejected with 422). For IFRS recipe-driven capsules (PREPAID_AMORTIZATION, LOAN_AMORTIZATION, etc.), use `preview_capsule_recipe` + `capsuleRecipe` payload on a trigger mutation instead; those create the capsule + scheduler atoms in one shot. This tool is for manually-grouped legacy capsules. If this action involved a judgment call, record it (jot field or jot tool).
Record money received INTO a bank account from an EXTERNAL source (customer payment, refund received, deposit). For inter-account moves use create_cash_transfer. accountResourceId MUST be a Bank/Cash account (from list_bank_accounts); any other type fails. Cannot appear in lines (API enforces separation). lines = offsetting entries: { accountResourceId, amount }. NO 'type' field; cash-in credits every offset line, decided by the endpoint. Offset accounts must be regular P&L or balance-sheet accounts (revenue, expense, asset, liability), NOT bank/cash and NOT controlled accounts (AR/AP). Optional capsuleRecipe (JOURNAL_DIRECT_CASH_IN base; LOAN_AMORTIZATION: cash-in = loan disbursement, recipe builds repayment schedule). Other recipes silently null here; pre-flight with preview_capsule_recipe. Mutex with capsuleResourceId. Rule 143. If this action involved a judgment call, record it (jot field or jot tool).
Record money paid OUT FROM a bank account to an EXTERNAL party (expense, supplier payment, reimbursement, withdrawal). For inter-account moves use create_cash_transfer. accountResourceId MUST be a Bank/Cash account (from list_bank_accounts). Cannot appear in lines (API enforces separation; error: "CashOut journal account cannot be in CashIn Entries"). lines = offsetting entries: { accountResourceId, amount > 0 }. NO 'type' field; cash-out debits every offset line, decided by the endpoint. Offset accounts must be regular P&L or balance-sheet accounts, NOT bank/cash and NOT controlled accounts (AR/AP). Example: { accountResourceId: "<expense-acct>", amount: 100 }. Optional capsuleRecipe: no v1 recipe lists JOURNAL_DIRECT_CASH_OUT; passing capsuleRecipe here silently nulls. Use create_cash_in or create_journal for LOAN_AMORTIZATION. Mutex with capsuleResourceId. Rule 143. If this action involved a judgment call, record it (jot field or jot tool).
Move money between TWO OF YOUR OWN bank/cash accounts (petty-cash top-up, inter-account, FX between own accounts). NOT for external parties; use create_cash_in (receiving) / create_cash_out (paying). cashOut = source, cashIn = destination. Each side needs accountResourceId + amount. reference auto-generated if omitted. Do NOT send currency/exchangeRate (derived server-side). Posts ACTIVE, not a draft. Refuses locally (`_guard: invalid_transfer`, nothing written) when both sides name the same account, or the leg amounts differ; re-read direction and amount with the user, do not retry. If this action involved a judgment call, record it (jot field or jot tool).
Create a catalog. status defaults to INACTIVE. items[] are catalog-item rows; contactGroupResourceIds[] scopes it to contact groups. If this action involved a judgment call, record it (jot field or jot tool).
Create an employee-expense claim directly (bare create, no attachment). Vendor is EITHER contactResourceId OR vendorName, never both. saveAsDraft defaults to true (lands DRAFT with relaxed line validation); set false to validate + submit in one call (lands SUBMITTED). reference is REQUIRED when submitting (saveAsDraft=false): omitting it returns 422 CLAIM_REFERENCE_REQUIRED_AT_SUBMIT; a DRAFT saves without one. If this action involved a judgment call, record it (jot field or jot tool).
Create an employee-expense claim DRAFT from a receipt via AI extraction: from a SINGLE file, a URL (sourceURL), or raw HTML (e.g. an email body). When the host conversation provides a file with the call, omit all source arguments; the file is used automatically. On the email channel, pass attachmentId "email-body" to use the inbound email body. The draft is born BOUND to the uploader's own employee automatically; to file for someone else pass employeeResourceId (server requires a claims Manager/Admin). Optional contact, claim profile, currency, value date. Returns a workflow handle; the claim appears in Drafts asynchronously (no manual bind step). If this action involved a judgment call, record it (jot field or jot tool).
How do I improve a Verified connector's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.