# Rillet Documentation > Documentation for Rillet Append .md to any documentation page URL to get its markdown version. ## Guides - [Getting Started with Rillet](https://docs.api.rillet.com/docs/getting-started.md) - [Webhooks](https://docs.api.rillet.com/docs/webhooks.md) - [MCP](https://docs.api.rillet.com/docs/mcp.md) - [claude-desktop-1-settings](https://docs.api.rillet.com/docs/claude-desktop-1-settings.md) - [claude-desktop-2-connectors](https://docs.api.rillet.com/docs/claude-desktop-2-connectors.md) - [claude-desktop-3-directory](https://docs.api.rillet.com/docs/claude-desktop-3-directory.md) - [claude-desktop-4-authorize](https://docs.api.rillet.com/docs/claude-desktop-4-authorize.md) - [claude-desktop-5-connected](https://docs.api.rillet.com/docs/claude-desktop-5-connected.md) ## API Reference - [Lists all accounts](https://docs.api.rillet.com/reference/list-all-accounts.md): Returns the chart of accounts for the organization tied to the API credentials. Use optional filters (for example updated.gt) to sync only accounts changed since a prior run. Account ids are stable identifiers used when creating journal entries, bills, and other postings. - [Creates an account](https://docs.api.rillet.com/reference/create-an-account.md): Adds an account to the chart of accounts for the organization. The account currency is inherited from the organization, its status is ACTIVE, and its default grouping and closing behavior are derived from the selected type and subtype. - [Lists all subsidiaries](https://docs.api.rillet.com/reference/list-all-subsidiaries.md): Returns legal-entity subsidiaries for the authenticated organization. Use this to discover subsidiary UUIDs before calling endpoints that accept subsidiary_id (contracts, invoices, reports). Each subsidiary carries currency and timezone used for localized accounting and reporting. - [Retrieves a subsidiary](https://docs.api.rillet.com/reference/retrieve-a-subsidiary.md): Returns one subsidiary by id for the authenticated organization. Call list-all-subsidiaries first if you need to resolve which subsidiary id to use. - [Retrieves an organization](https://docs.api.rillet.com/reference/retrieve-an-organization.md): Returns the organization profile for the API credentials in use (the “current” org). Use this to confirm organization id, display name, and other org-level settings in integrations. - [Lists all approval workflows](https://docs.api.rillet.com/reference/list-all-approval-workflows.md): Returns every approval workflow in the organization tied to the API credentials, active and inactive, grouped by the kind of record they apply to and ordered by ascending `priority` within each group. This endpoint is not paginated and returns the complete set. - [Retrieves an approval workflow](https://docs.api.rillet.com/reference/retrieve-an-approval-workflow.md): Returns one approval workflow: the conditions that decide which entries it applies to, and the ordered layers of approvers that must sign off. This is the control definition, not a record of approvals given. Approval workflows are not versioned — the response describes the workflow as it stands now, and an update overwrites it in place. - [Updates an approval workflow](https://docs.api.rillet.com/reference/update-an-approval-workflow.md): Replaces an approval workflow's definition. The whole definition is required — a partial body is rejected, not merged, and fields this contract does not define are ignored. Send `type` and `active` back as read; changing either here is rejected, and combinations the Rillet app cannot configure are rejected too (see the individual fields). Entries already awaiting approval are unaffected, because an entry copies the layers it needs when approval starts; only entries registered after this call use the new definition. Deadlines and layer escalation rules are not part of this contract and are cleared, exactly as saving a workflow in Rillet clears them. - [Lists all products](https://docs.api.rillet.com/reference/list-all-products-1.md): Returns sellable products and services for accounts receivable (contracts, invoices). Supports pagination and optional filters such as status and currency. - [Creates a product](https://docs.api.rillet.com/reference/create-a-product-1.md): Creates a new product (good or service) that can be referenced on contracts and invoices. Choose pricing and revenue behavior consistent with how you bill customers (one-time, recurring, usage, etc.). - [Retrieves a product](https://docs.api.rillet.com/reference/retrieve-a-product-1.md): Returns a single product definition including pricing configuration used on contracts and invoices. - [Updates a product](https://docs.api.rillet.com/reference/update-a-product-1.md): Updates a single product definition in the catalog. IMPORTANT: This is a full-replace operation (PUT semantics). Include every field expected by ProductRequest; omitted fields may be cleared. Call retrieve-a-product first, merge your changes, then submit the full body. - [Deletes a product](https://docs.api.rillet.com/reference/delete-a-product-1.md): Permanently removes a product. Ensure no in-flight contracts or invoices require this product before deleting. - [Lists all customers](https://docs.api.rillet.com/reference/list-all-customers-1.md): Returns customers for accounts receivable with pagination and optional search or external-reference filters. - [Creates a customer](https://docs.api.rillet.com/reference/create-a-customer-1.md): Creates a new customer in the Accounts Receivable catalog. Required fields: name. When providing an address, all of these fields are required: line1, city, state (2-letter code e.g. 'TN', 'CA'), zip_code, country. - [Retrieves a customer](https://docs.api.rillet.com/reference/retrieve-a-customer-1.md): Returns a single customer record including billing profile details, which are needed for updates. - [Updates a customer](https://docs.api.rillet.com/reference/update-a-customer-1.md): Updates a single customer record in the catalog. IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be included in the request body — omitting any field will set it to null, wiping existing data. Always call retrieve-a-customer first to fetch the current record, then include ALL existing fields in your update request along with your changes. - [Deletes a customer](https://docs.api.rillet.com/reference/delete-a-customer-1.md): Permanently deletes a customer. Verify no active contracts or open invoices reference this customer first. - [Sets up auto-payment](https://docs.api.rillet.com/reference/setup-auto-payment.md): Kicks off the setup of auto-payment for a customer. This will return a URL that the customer must visit to complete the setup. If the customer already has a payment method, this will return a URL to update the payment method. - [Gets payment method](https://docs.api.rillet.com/reference/get-payment-method.md): Returns the payment method configured for auto-payment for the given customer. - [Creates a contract](https://docs.api.rillet.com/reference/create-a-contract-1.md): Rillet supports two contract scope types: FULL and REVENUE_RECOGNITION_ONLY. The selected scope determines how the invoices are created and what information the user needs to provide. The FULL scope is used when contract invoices are generated and sent directly from Rillet. In this case, Rillet automatically assigns the invoice numbers. The REVENUE_RECOGNITION_ONLY scope is intended for situations where contracts and invoices are issued from another system and only need to be recorded in Rillet for accounting purposes. In this workflow, users must provide the invoice numbers manually. Other fields can be populated based on the data imported from the external system. For example, if your organization issues invoices through an external billing platform but tracks financials in Rillet, you should select REVENUE_RECOGNITION_ONLY. If Rillet handles the entire invoicing and sending process, choose the FULL scope. - [Lists all contracts](https://docs.api.rillet.com/reference/list-all-contracts-1.md): Returns contracts with pagination and rich filters (subsidiary, customer, status, date ranges). Use this to discover contract ids, check lifecycle state, or drive reporting extracts. - [Retrieves a contract](https://docs.api.rillet.com/reference/retrieve-a-contract-1.md): Returns the expanded contract including items, schedules, and metadata required before updates or amendments. Always retrieve before issuing a full PUT update so you preserve fields you do not intend to clear. - [Deletes a contract](https://docs.api.rillet.com/reference/delete-a-contract-1.md): Permanently removes a contract when your business rules allow deletion. Confirm downstream invoices, revenue schedules, and integrations no longer depend on this contract before deleting it. - [Amends a contract](https://docs.api.rillet.com/reference/amend-a-contract-1.md): Applies a contract amendment when you need to add items, retire items, or change pricing/invoicing after go-live. Unlike a full PUT update, amendments model business-time changes and preserve historical billing context. Use preview-contract-amendment to dry-run the financial impact before committing. - [Previews contract amendment](https://docs.api.rillet.com/reference/preview-contract-amendment.md): Preview a contract that has been amended. This has no effect on the actual contract, only provides a preview of what a contract will look like after it is amended. - [Ends an open-ended contract](https://docs.api.rillet.com/reference/end-an-open-ended-contract-1.md): Sets an explicit end date on a contract that previously had no close date (open-ended). Provide the final end_date in the request body; downstream invoicing and revenue recognition honor the new boundary. - [Retrieves a draft contract](https://docs.api.rillet.com/reference/retrieve-a-draft-contract.md): Returns a draft contract by id, including its line items and any attached external references. - [Updates a draft contract](https://docs.api.rillet.com/reference/update-a-draft-contract.md): Replaces the draft contract identified by `draft_contract_id` with the supplied payload. The body shape matches `POST /draft-contracts` — items and external_references on the existing record are fully replaced. Returns 404 if the id is not a draft contract in the organization. - [Deletes a draft contract](https://docs.api.rillet.com/reference/delete-a-draft-contract.md): Permanently removes a draft contract along with its line items and external references. Use this to programmatically reject a draft contract instead of doing it from the Rillet UI. - [Creates a draft contract](https://docs.api.rillet.com/reference/create-a-draft-contract.md): Stages a contract in the "draft" holding state instead of creating it directly as an active contract. Draft contracts appear in the Rillet UI under "Draft" for a human to approve or reject. ## Deduplication **To prevent duplicate draft contracts on retry, supply at least one `external_references` entry with a stable `(type, id)` pair.** When you POST again with any matching `(type, id)` pair, the prior draft record is replaced with the new payload. Draft contracts created without any `external_references` are not deduplicated — every POST creates a new record. ## External reference types Each reference's `type` must match a slug already defined under Rillet Settings → External References for the organization; unknown slugs return a 400. References attached at create time are preserved when the draft contract is promoted to an active contract. ## Promotion Promotion to an active contract happens through the Rillet UI. The public API does not currently expose a programmatic promotion endpoint. - [Lists all draft contracts](https://docs.api.rillet.com/reference/list-all-draft-contracts.md): Returns draft contracts with cursor pagination. Draft contracts are staged records that appear in the Rillet UI under "Draft" for a human to approve or reject before they become active contracts. - [Upserts a usage record](https://docs.api.rillet.com/reference/upsert-a-usage-record.md): Creates usage records on dates where previously no usage was recorded. Overwrites usage records on dates where usage was previously recorded already. - [Lists all contract item usage records](https://docs.api.rillet.com/reference/list-all-contract-item-usage-records-1.md): Returns historical usage quantities for a contract item, newest first, with optional pagination cursors. Use before upsert-a-usage-record or delete-a-usage-record to understand existing coverage for each date. - [Deletes a usage record](https://docs.api.rillet.com/reference/delete-a-usage-record-1.md): Removes the usage entry for a single contract item on a specific calendar date. This is narrower than upsert-a-usage-record and is ideal when you need to wipe a mistaken day without resending the entire usage payload. - [Lists all invoices](https://docs.api.rillet.com/reference/list-all-invoices-1.md): Returns AR invoices with pagination plus filters for subsidiary, customer, overdue state, and audit timestamps. Use invoice ids from this feed with retrieve-an-invoice before performing full updates. - [Creates an invoice](https://docs.api.rillet.com/reference/create-an-invoice-1.md): Rillet supports two invoice scope types: FULL and REVENUE_RECOGNITION_ONLY. The selected scope determines how the invoice is created and what information the user needs to provide. The FULL scope is used when the invoice is generated and sent directly from Rillet. In this case, Rillet automatically assigns the invoice number. The REVENUE_RECOGNITION_ONLY scope is intended for situations where the invoice is issued from another system and only needs to be recorded in Rillet for accounting purposes. In this workflow, users must provide the invoice number manually. Other fields can be populated based on the data imported from the external system. For example, if your organization issues invoices through an external billing platform but tracks financials in Rillet, you should select REVENUE_RECOGNITION_ONLY. If Rillet handles the entire invoicing and sending process, choose the FULL scope. - [Retrieves an invoice](https://docs.api.rillet.com/reference/retrieve-an-invoice-1.md): Returns invoice details including line items, tax breakdown, and linkage to contracts or customers. Use Accept application/json for structured data; application/pdf is only for human-readable exports when enabled. - [Deletes an invoice](https://docs.api.rillet.com/reference/delete-an-invoice-1.md): Permanently removes an invoice when your policy allows it (for example draft or voided states). Confirm no downstream payments or revenue postings still depend on this invoice. - [Updates an invoice](https://docs.api.rillet.com/reference/update-an-invoice-1.md): IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be included in the request body — omitting any field will set it to null, wiping existing data. Always call retrieve-an-invoice first to fetch the current record, then include ALL existing fields in your update request along with your changes. - [Updates invoice sent status](https://docs.api.rillet.com/reference/update-invoice-sent-status.md): Marks whether an invoice has been delivered to the customer, which downstream workflows use for collections cadence and compliance reporting. Set the sent flag true after your billing system or email provider confirms delivery, or false while the document is still internal-only. - [Updates invoice taxes](https://docs.api.rillet.com/reference/update-taxes-for-an-invoice.md): Recalculates or replaces tax lines on an existing invoice using the supplied tax payload. Use after changing taxable addresses or when integrating an external tax engine result. - [Lists payments for a given invoice](https://docs.api.rillet.com/reference/list-all-invoice-payments.md): Returns every payment attempt tied to a single invoice, including successful, uncleared, and failed rows with their public status. Pair with retrieve-an-invoice when reconciling an account statement against what Rillet already applied. - [Creates an invoice payment](https://docs.api.rillet.com/reference/create-an-invoice-payment.md): Records a manual cash receipt against an open invoice by amount, effective date, and a GL account code that maps to a funded cash account. Rillet resolves the account code to a cash account before posting, so verify chart-of-accounts mapping when automations fail validation. - [Lists all invoice payments](https://docs.api.rillet.com/reference/list-all-invoices-payments.md): Pages every customer payment recorded against invoices across the organization, independent of which invoice it settled. Use updated.gt and sort_by when syncing integrations; follow the pagination cursor until no next page remains. - [Deletes an invoice payment](https://docs.api.rillet.com/reference/delete-an-invoice-payment.md): Reverses a previously recorded uncleared invoice payment, restoring the invoice balance accordingly. Only uncleared payments can be deleted; cleared or reconciled payments are rejected. Treat this as a corrective action with the same controls you apply to voiding treasury transactions in your close process. - [Updates an invoice payment](https://docs.api.rillet.com/reference/update-an-invoice-payment.md): Replaces the amount, date, and cash account on an existing uncleared invoice payment. Only uncleared payments can be updated; cleared or reconciled payments are rejected. This is a full-replace operation (PUT semantics) — include all fields in the request body. - [Lists all credit memos](https://docs.api.rillet.com/reference/list-all-credit-memos.md): Returns customer credit memos with pagination and filters for application state, customer, and subsidiaries. Use credit memo ids with retrieve-a-credit-memo before updates or when applying credits to invoices. - [Creates a credit memo](https://docs.api.rillet.com/reference/create-a-credit-memo.md): Opens a customer credit memo that reduces receivable exposure before you allocate it to specific invoices. Capture subsidiary, customer, line-level reasons, and tax treatment so finance can audit why the balance changed. - [Retrieves a credit memo](https://docs.api.rillet.com/reference/retrieve-a-credit-memo.md): Loads the full credit memo payload, including remaining balance, applications, and tax metadata you must echo on PUT updates. Always retrieve before editing because update-a-credit-memo replaces the entire resource when fields are omitted. - [Deletes a credit memo](https://docs.api.rillet.com/reference/delete-a-credit-memo.md): Removes a credit memo that should no longer affect AR balances, typically while it is still draft or unused. Confirm no invoice applications or downstream revenue adjustments depend on this memo before calling delete. - [Updates a credit memo](https://docs.api.rillet.com/reference/update-a-credit-memo.md): IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be included in the request body — omitting any field will set it to null, wiping existing data. Always call retrieve-a-credit-memo first to fetch the current record, then include ALL existing fields in your update request along with your changes. - [Updates credit memo taxes](https://docs.api.rillet.com/reference/update-taxes-for-a-credit-memo.md): Refreshes tax quotes on an existing credit memo using the same structured payload as invoice tax updates, stamped with taxesCalculatedAt for auditability. Use after line items change or when your tax engine recomputes jurisdiction-specific amounts before issuing the credit to the customer. - [Unapplies all credit memo applications](https://docs.api.rillet.com/reference/delete-credit-memo-applications.md): Removes every application from this credit memo, reverting all invoice allocations. - [Reconciles credit memo applications](https://docs.api.rillet.com/reference/apply-credit-memo.md): Full reconcile of credit memo applications. The request body represents the desired set: missing applications are removed, new applications inserted, and existing applications updated when amount or application_date differ. - [Lists all vendors](https://docs.api.rillet.com/reference/list-all-vendors-1.md): Returns vendors with pagination and optional status or currency filters. Vendor ids feed bill creation, vendor credits, and payment workflows. - [Creates a vendor](https://docs.api.rillet.com/reference/create-a-vendor-1.md): Adds a vendor master record the accounts-payable team can select on bills, vendor credits, and payments. Capture legal name, remit-to address, default currency, and payment terms so downstream bills inherit correct due dates and banking instructions. - [Retrieves a vendor](https://docs.api.rillet.com/reference/retrieve-a-vendor-1.md): Fetches the full vendor profile including identifiers you must echo back on PUT updates. Use before editing to avoid wiping optional fields, and when validating tax or payment metadata during bill entry. - [Updates a vendor](https://docs.api.rillet.com/reference/update-a-vendor-1.md): IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be included in the request body — omitting any field will set it to null, wiping existing data. Always call retrieve-a-vendor first to fetch the current record, then include ALL existing fields in your update request along with your changes. - [Deletes a vendor](https://docs.api.rillet.com/reference/delete-a-vendor-1.md): Removes a vendor you no longer expect to pay. Confirm no open bills, credits, or scheduled payments still reference this vendor to avoid orphaned payables. - [Lists all vendor credits](https://docs.api.rillet.com/reference/list-all-vendor-credits.md): Returns vendor credits with pagination and filters for vendor, subsidiary, and freshness. Credits represent vendor-issued balance reductions you can later apply to bills using apply-vendor-credit. - [Creates a vendor credit](https://docs.api.rillet.com/reference/create-a-vendor-credit.md): Records a new vendor credit memo amount that reduces future payables without yet touching specific bills. After creation, use apply-vendor-credit to allocate the balance across one or more open bills. - [Retrieves a vendor credit](https://docs.api.rillet.com/reference/retrieve-a-vendor-credit.md): Loads a single vendor credit including remaining balance and application history. Retrieve before updating or applying so you know how much capacity is left to allocate to bills. - [Updates a vendor credit](https://docs.api.rillet.com/reference/update-a-vendor-credit.md): IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be included in the request body — omitting any field will set it to null, wiping existing data. Always call retrieve-a-vendor-credit first to fetch the current record, then include ALL existing fields in your update request along with your changes. - [Deletes a vendor credit](https://docs.api.rillet.com/reference/delete-a-vendor-credit.md): Permanently removes a vendor credit that should not remain in the subledger. Ensure no applications or downstream reconciliations still rely on this credit before deleting. - [Applies a vendor credit to bills](https://docs.api.rillet.com/reference/apply-vendor-credit.md): Allocates an existing vendor credit balance against specific open bills, reducing net amounts payable similar to a targeted vendor payment. Use after reviewing retrieve-a-vendor-credit so you apply only the remaining unapplied balance. - [Lists all bills](https://docs.api.rillet.com/reference/list-all-bills-1.md): Returns AP bills with pagination plus filters for vendor, subsidiary, approval state, and balances due. Use bill ids with retrieve-a-bill before performing full updates or attaching documents. - [Creates a bill](https://docs.api.rillet.com/reference/create-a-bill-1.md): Accrues a new accounts-payable bill against a vendor with subsidiary context, line items, and due dates your approval workflow consumes. Attach supporting metadata now so matching payments, amortization schedules, and document uploads stay aligned with the payable. - [Retrieves a bill](https://docs.api.rillet.com/reference/retrieve-a-bill-1.md): Returns the authoritative bill record including vendor linkage, approval state, open balance, and document references. Fetch before update-a-bill because PUT semantics require you to resubmit every field to avoid nulling omitted values. - [Updates a bill](https://docs.api.rillet.com/reference/update-a-bill-1.md): IMPORTANT: This is a full-replace operation (PUT semantics). All fields must be included in the request body — omitting any field will set it to null, wiping existing data. Always call retrieve-a-bill first to fetch the current record, then include ALL existing fields in your update request along with your changes. - [Deletes a bill](https://docs.api.rillet.com/reference/delete-a-bill-1.md): Removes a bill that should no longer drive AP balances, typically while it remains in draft or was created in error. Verify no posted payments, accrual journals, or vendor credit applications still reference the bill before deleting. - [Uploads a document](https://docs.api.rillet.com/reference/upload-document.md): Attaches a document (PDF, JPEG, or PNG) such as an invoice, contract, or receipt to an existing bill using multipart form data with a single file part. Call after the bill exists so approvers and auditors can open the evidence directly from the payable record. - [Creates a bill payment](https://docs.api.rillet.com/reference/create-a-bill-payment.md): Books a cash or scheduled disbursement that settles all or part of a bill, updating the outstanding payable and linking treasury activity. Provide funding source details consistent with your configured payment rails so downstream bank reconciliation stays accurate. IMPORTANT: Notice this operation has a redundancy between the `bill_id` path parameter and the `billId` attribute in the request body, which takes precedence and is used in internal logic. When executing this operation, both IDs must match, otherwise the request will be rejected. This is a legacy redundancy and will be removed in future versions of this operation. - [Lists bill payments](https://docs.api.rillet.com/reference/list-bill-payments.md): Enumerates disbursements recorded against a specific bill, useful when reconciling vendor statements to internal cash movements. Combine with retrieve-a-bill to understand remaining balance after each payment posts. - [Deletes a bill payment](https://docs.api.rillet.com/reference/delete-a-bill-payment.md): Reverses a previously recorded bill payment when the disbursement failed or was duplicated, restoring the bill balance accordingly. Treat this as a corrective action with the same controls you apply to voiding treasury transactions in your close process. - [Lists all charges](https://docs.api.rillet.com/reference/list-all-charges.md): Pages card or out-of-pocket employee charges awaiting policy review, subsidiary allocation, or conversion into reimbursable payables. Filter by subsidiary_id or updated.gt when syncing corporate card feeds into downstream expense automation. - [Retrieves a charge](https://docs.api.rillet.com/reference/retrieve-a-charge.md): Fetches a single charge with merchant metadata, amounts, and workflow state so reviewers can decide coding before reimbursement. Use this after list-all-charges surfaces an id that needs manual inspection or attachment to a bill. - [Deletes a charge](https://docs.api.rillet.com/reference/delete-a-charge.md): Drops a charge that should not influence spend reporting, for example duplicate imports from a card processor feed. Ensure finance agrees the underlying bank activity will not be re-imported before removing the charge permanently. - [Create a charge](https://docs.api.rillet.com/reference/create-a-charge.md) - [Uploads a document to a charge](https://docs.api.rillet.com/reference/upload-charge-document.md): Attaches a receipt (PDF, JPEG, or PNG) to an existing charge using multipart form data with a single file part. - [Lists all reimbursements](https://docs.api.rillet.com/reference/list-all-reimbursements.md): Surfaces reimbursement requests created from approved charges or manual submissions, including subsidiary and freshness filters for payroll sync. Use pagination cursors for large populations and pair with retrieve-a-reimbursement when a row needs detailed audit context. - [Retrieves a reimbursement](https://docs.api.rillet.com/reference/retrieve-a-reimbursement.md): Returns the full reimbursement packet with employee linkage, funding instructions, and approval history for a single id. Helpful when validating totals before releasing ACH batches or answering employee support tickets. - [Deletes a reimbursement](https://docs.api.rillet.com/reference/delete-a-reimbursement.md): Removes a reimbursement that was created prematurely or duplicated during intake so it no longer blocks payroll totals. Confirm no outbound payments or GL accruals were posted against the reimbursement before deleting it. - [Create a reimbursement](https://docs.api.rillet.com/reference/create-a-reimbursement.md) - [Uploads a document to a reimbursement](https://docs.api.rillet.com/reference/upload-reimbursement-document.md): Attaches a receipt (PDF, JPEG, or PNG) to an existing reimbursement using multipart form data with a single file part. - [Creates a journal entry](https://docs.api.rillet.com/reference/create-a-journal-entry.md): Posts a balanced manual journal entry with explicit debit and credit lines, posting date, and subsidiary scope for GL corrections. Prefer dedicated AR or AP APIs when the business event already exists; reserve this for adjustments your automation cannot model yet. - [Lists all journal entries](https://docs.api.rillet.com/reference/list-all-journal-entries.md): Returns GL journal entries with rich filtering (subsidiary, account, date range, reconciliation state). Use entry ids with retrieve-a-journal-entry before attempting updates or deletes. - [Retrieves a journal entry](https://docs.api.rillet.com/reference/retrieve-a-journal-entry.md): Retrieves a journal entry with every line, account reference, and reconciliation flag needed for close review or downstream edits. Call before update-a-journal-entry so you can merge new edits with existing lines without accidentally dropping balances. - [Updates a journal entry](https://docs.api.rillet.com/reference/update-a-journal-entry.md): Replaces the lines and header metadata on an existing manual journal entry, subject to the same balancing rules as creation. Always include the complete line list retrieved beforehand because partial payloads can clear fields the API treats as optional. - [Deletes a journal entry](https://docs.api.rillet.com/reference/delete-a-journal-entry.md): Deletes a manual journal entry that should be excluded from the ledger, typically prior to period lock while corrections remain allowed. Verify dependent reconciliations or downstream consolidations no longer rely on the entry before removal. - [Lists all bank accounts](https://docs.api.rillet.com/reference/list-all-bank-accounts.md): Returns cash bank accounts configured for the organization, optionally filtered by subsidiary. Bank account ids anchor transaction import, reconciliation, and treasury automations. - [Retrieves a bank account](https://docs.api.rillet.com/reference/retrieve-a-bank-account.md): Returns configuration and status for a single bank account, including identifiers downstream connectors need when refreshing balances. Use before deleting or updating metadata so you preserve institution codes and default subsidiary routing. - [Creates a bank account](https://docs.api.rillet.com/reference/create-a-bank-account.md): Registers a treasury bank account with currency, institution identifiers, and linkage to the GL cash account used during transaction import. Accurate mapping here ensures invoice payments, bill payments, and bank feeds all post to the same cash subledger. - [Deletes a bank account](https://docs.api.rillet.com/reference/delete-a-bank-account.md): Removes a bank account definition when the entity closed the account or you mistakenly created a duplicate connector mapping. Ensure no scheduled payments or open reconciliation batches still target this bank account before deletion. - [Lists all bank transactions](https://docs.api.rillet.com/reference/list-all-bank-transactions.md): Streams imported or manually entered cash activity for reconciliation, optionally scoped by bank account, subsidiary, or updated-since filters. Pair results with retrieve-a-bank-transaction when you need memo-level detail before marking items cleared. - [Creates a bank transaction](https://docs.api.rillet.com/reference/create-a-bank-transaction.md): Inserts a single bank feed line such as a wire, ACH, or adjustment when automated imports miss a statement row. Specify the hosting bank account and value dates so cash reporting matches what treasury already booked externally. - [Retrieves a bank transaction](https://docs.api.rillet.com/reference/retrieve-a-bank-transaction.md): Fetches one bank transaction with counterparty text, amounts, and reconciliation flags used by cash teams during month-end. Use before update-a-bank-transaction to preserve memos or matched invoice references embedded in the payload. - [Updates a bank transaction](https://docs.api.rillet.com/reference/update-a-bank-transaction.md): Adjusts memo, categorization, or reconciliation metadata on an existing bank transaction without re-importing the entire feed batch. Supply the full body expected by the schema so optional fields you intend to keep are not unintentionally cleared. - [Deletes a bank transaction](https://docs.api.rillet.com/reference/delete-a-bank-transaction.md): Removes a bank transaction row that was imported twice or created in error before it affects reconciled cash balances. Confirm treasury agrees the underlying bank activity will not return on the next feed pull before deleting. - [Lists all tax rates](https://docs.api.rillet.com/reference/list-all-tax-rates.md): Returns all available tax rates. Use the returned IDs when creating bills with specific tax codes. - [Retrieves ARR waterfall report](https://docs.api.rillet.com/reference/retrieve-waterfall-report.md): Returns the ARR waterfall dataset for the requested month with optional breakdown dimensions, subsidiary filters, and pagination cursors for large tenants. Finance teams use this to explain beginning ARR, new business, expansion, contraction, and churn between periods. - [Retrieves trial balance report](https://docs.api.rillet.com/reference/retrieve-trial-balance-report.md): Returns a trial balance report for the specified date range. Required parameters: from_date and to_date (ISO-8601 format YYYY-MM-DD). Both must be provided or the call will fail. Example: from_date=2024-01-01, to_date=2024-12-31. - [Retrieves balance sheet report](https://docs.api.rillet.com/reference/retrieve-balance-sheet-report.md): Returns a balance sheet report as of the specified date. Required parameter: as_of_date (ISO-8601 format YYYY-MM-DD). Must be provided or the call will fail. Example: as_of_date=2024-12-31. - [Lists journal entries with reporting currency amounts](https://docs.api.rillet.com/reference/list-reports-journal-entries.md): Returns journal entries with line item amounts converted to the reporting currency. - [Retrieves income statement report](https://docs.api.rillet.com/reference/retrieve-income-statement-report.md): Returns an income statement (profit and loss) report for the specified date range. - [Retrieves cash flow statement report](https://docs.api.rillet.com/reference/retrieve-cash-flow-statement-report.md): Returns a cash flow statement report for the specified date range. - [Retrieves executive P&L report](https://docs.api.rillet.com/reference/retrieve-executive-pl-report.md): Returns an executive profit and loss report with margins for the specified date range. - [Lists all books](https://docs.api.rillet.com/reference/list-all-books.md): Returns all accounting books available to the authenticated organization. Successful responses always contain at least one book and list the primary book first. Only primary and adjustment-overlay book IDs can be used with report and journal-entry endpoints that accept a book_id. - [Retrieves last book closed period](https://docs.api.rillet.com/reference/retrieve-last-book-closed-period.md): Returns the most recently closed accounting period for book-close workflows, including closed-on timestamps your automation can cache. When no period has ever been closed the API responds with HTTP 404, so treat a missing resource as "not yet closed" rather than an outage. - [Returns service health](https://docs.api.rillet.com/reference/health-1.md): Lightweight liveness probe that returns HTTP 200 when the service process is running, without exercising downstream databases or queues. Use for load balancer health checks where you only need to know the JVM responded. - [Gets API key information](https://docs.api.rillet.com/reference/get-api-key-information.md): Confirms the caller’s API key is recognized and returns basic identity metadata such as organization context when authentication succeeds. Integrations should call this during bootstrap or rotation to distinguish invalid keys from broader connectivity failures. - [Gets custom fields](https://docs.api.rillet.com/reference/get-fields.md): Retrieves custom field definitions and their pick-list values for the organization. Use the returned field ids with create-field-value and update-field-value when enriching core entities. - [Creates a field](https://docs.api.rillet.com/reference/create-field.md): Defines a new custom field (text, number, pick list, etc.) that can be attached to supported Rillet entities for reporting and automation. After creation, use create-field-value to seed allowed pick-list entries or default values teams should see in the UI. - [Updates a field](https://docs.api.rillet.com/reference/update-field.md): Changes labels, validation rules, or visibility metadata on an existing custom field without recreating historical values. Coordinate with stakeholders before renaming because downstream integrations often key off the human-readable label. - [Creates a field value](https://docs.api.rillet.com/reference/create-field-value.md): Adds a selectable value to a pick-list style custom field so users and APIs can tag entities with consistent taxonomy. Values inherit the field’s scope, so create them after the parent field exists and before importing records that reference the new code. - [Updates a field value](https://docs.api.rillet.com/reference/update-field-value.md): Renames or reorders a pick-list entry while preserving its underlying id so historical records stay linked to the same option. Prefer this over delete-and-recreate when auditing requires stable references across reporting periods. - [Deletes a field value](https://docs.api.rillet.com/reference/delete-field-value.md): Retires a pick-list option that should no longer be selectable while keeping older records intact for read-only history. Confirm no automation or validation rules still require the value before removal to avoid breaking bulk imports. - [invoice-created](https://docs.api.rillet.com/reference/invoice-created-webhook.md): Webhook to notify when an invoice is created. - [invoice-updated](https://docs.api.rillet.com/reference/invoice-updated-webhook.md): Webhook to notify when an invoice is updated. - [invoice-deleted](https://docs.api.rillet.com/reference/invoice-deleted-webhook.md): Webhook to notify when an invoice is deleted. - [contract-created](https://docs.api.rillet.com/reference/contract-created-webhook.md): Webhook to notify when a contract is created. - [contract-updated](https://docs.api.rillet.com/reference/contract-updated-webhook.md): Webhook to notify when a contract is updated. - [contract-deleted](https://docs.api.rillet.com/reference/contract-deleted-webhook.md): Webhook to notify when a contract is deleted. - [credit-memo-created](https://docs.api.rillet.com/reference/credit-memo-created-webhook.md): Webhook to notify when a credit memo is created. - [credit-memo-updated](https://docs.api.rillet.com/reference/credit-memo-updated-webhook.md): Webhook to notify when a credit memo is updated. - [credit-memo-payment-updated](https://docs.api.rillet.com/reference/credit-memo-payment-updated-webhook.md): Webhook to notify when a credit memo payment is updated. - [credit-memo-deleted](https://docs.api.rillet.com/reference/credit-memo-deleted-webhook.md): Webhook to notify when a credit memo is deleted. - [customer-created](https://docs.api.rillet.com/reference/customer-created-webhook.md): Webhook to notify when a customer is created. - [customer-updated](https://docs.api.rillet.com/reference/customer-updated-webhook.md): Webhook to notify when a customer is updated. - [customer-deleted](https://docs.api.rillet.com/reference/customer-deleted-webhook.md): Webhook to notify when a customer is deleted. - [invoice-payment-updated](https://docs.api.rillet.com/reference/invoice-payment-updated-webhook.md): Webhook to notify when an invoice is updated. - [bill-created](https://docs.api.rillet.com/reference/bill-created-webhook.md): Webhook to notify when a bill is created. - [bill-updated](https://docs.api.rillet.com/reference/bill-updated-webhook.md): Webhook to notify when a bill is updated. - [bill-deleted](https://docs.api.rillet.com/reference/bill-deleted-webhook.md): Webhook to notify when a bill is deleted. - [vendor-created](https://docs.api.rillet.com/reference/vendor-created-webhook.md): Webhook to notify when a vendor is created. - [vendor-updated](https://docs.api.rillet.com/reference/vendor-updated-webhook.md): Webhook to notify when a vendor is updated. - [vendor-deleted](https://docs.api.rillet.com/reference/vendor-deleted-webhook.md): Webhook to notify when a vendor is deleted. - [journal-entry-created](https://docs.api.rillet.com/reference/journal-entry-created-webhook.md): Webhook to notify when a journal entry is created. - [journal-entry-updated](https://docs.api.rillet.com/reference/journal-entry-updated-webhook.md): Webhook to notify when a journal entry is updated. - [journal-entry-deleted](https://docs.api.rillet.com/reference/journal-entry-deleted-webhook.md): Webhook to notify when a journal entry is deleted. ## Changelog - [Purchase Order Number on Contracts](https://docs.api.rillet.com/changelog/purchase-order-number-on-contracts.md) - [Read and Update Approval Workflows](https://docs.api.rillet.com/changelog/read-and-update-approval-workflows.md) - [Foreign-Currency Reimbursements](https://docs.api.rillet.com/changelog/foreign-currency-reimbursements.md) - [Per-Line Descriptions on Contract Items](https://docs.api.rillet.com/changelog/per-line-descriptions-on-contract-items.md) - [Attach Receipts to Charges and Reimbursements, Image Uploads for Bills](https://docs.api.rillet.com/changelog/attach-receipts-to-charges-and-reimbursements-image-uploads-for-bills.md) - [Multi-Book API Support](https://docs.api.rillet.com/changelog/multi-book-api-support.md) - [Create Chart of Accounts Entries](https://docs.api.rillet.com/changelog/create-chart-of-accounts-entries.md) - [Delete and Update Invoice Payments](https://docs.api.rillet.com/changelog/delete-and-update-invoice-payments.md) - [Filter Journal Entries by GL Account](https://docs.api.rillet.com/changelog/filter-journal-entries-by-gl-account.md) - [Original Transaction Amount on Journal Entry Responses](https://docs.api.rillet.com/changelog/original-transaction-amount-on-journal-entry-responses.md)