How to set up authentication
Goal: Provide credentials so every tool call succeeds without being prompted repeatedly. The server needs two values for every request:| Value | Where to find it |
|---|---|
| Organization ID | Zenskar Dashboard → Settings → General |
| API Token | Zenskar Dashboard → Settings → API Keys |
claude_desktop_config.json under the env key. The server reads these automatically on every call.
env block entirely. Claude will prompt for credentials when it needs them. This is less convenient but useful if you’re working across multiple organizations.
Option C: Environment variables set in your shell
Export them in your shell profile (~/.zshrc, ~/.bashrc, etc.):
How to generate and approve an invoice
Goal: Generate an invoice for a specific contract and billing period, then approve it. Step 1: Generate the invoice Ask Claude:generateInvoice with the contract ID and date range. Invoice generation is asynchronous — Claude will call getInvoiceGenerationStatus or listJobs to confirm completion.
Step 2: Review the invoice
Ask Claude:
getInvoiceLineItems so you can confirm the amounts before approving.
Step 3: Approve
Ask Claude:
approveInvoice. The invoice is now in an approved state and can be charged or paid.
Step 4: Optionally, auto-charge
Ask Claude:
createInvoiceCharge.
How to record a payment and issue a credit note
Goal: Record a manual payment against an invoice and, if needed, create a credit note for a partial refund. Record the payment:createPayment with the amount and invoice allocation.
Issue a credit note:
createInvoiceCreditNote. Credit notes are listed via listCreditNotes or retrieved by ID using getCreditNoteById.
Refund a payment:
refundPayment. Partial refunds are also supported — specify the amount.
How to create a contract with phases and pricing
Goal: Create a contract with an initial phase and add expansion pricing to it. Step 1: Create the contract Ask Claude:createContract.
Step 2: Add a phase
Ask Claude:
createContractPhase.
Step 3: Add pricing to the phase
Ask Claude:
createContractPhasePricing.
Step 4: Verify
Ask Claude:
getContractById and returns the complete contract structure.
How to run accounting reports
Goal: Pull a balance sheet and income statement for a reporting period. Ask Claude:getBalanceSheet.
getIncomeStatement.
recogniseRevenue. This is an async operation: Claude will poll listJobs or getJobById to confirm completion.