# red-ale Manual > red-ale keeps GnuCash books and is driven entirely through JSON-RPC, MCP and its CLI. Open a book with book.open, change it with the other methods, save it with book.save, and send amounts as exact strings, never JSON numbers. Look things up with help.search and help.get. Each link is a Page of the Manual as HTML; its Page ID is the path without `.html`. `llms-full.txt` holds every Page as Markdown in one file, and `schema.json` is the API's schema document. ## Start - [red-ale Manual](start.html): red-ale keeps GnuCash books and is driven entirely through JSON-RPC, MCP and its CLI. Open a book with book.open, change it with the other methods, save it with book.save, and send amounts as exact strings, never JSON numbers. Look things up with help.search and help.get. ## Concepts - [Account types](concept/account-types.html): The five basic kinds of Account and the Account types red-ale offers (BANK, CASH, ASSET, CREDIT, LIABILITY, STOCK, MUTUAL, CURRENCY, INCOME, EXPENSE, EQUITY, RECEIVABLE, PAYABLE, TRADING), which Account can sit under which, and what each is for. - [Books and files](concept/books-and-files.html): A Book is one set of Accounts kept in one file, XML (plain or gzipped) or SQLite. Locks, the journal, backups and retention, Book features, and which storage to choose. Database-server books are not supported. - [Budgets](concept/budgets.html): A Budget plans an amount per Account for each Budget period. Budget periods, set and unset amounts, natural signs, notes, actuals, estimating from past Transactions, and the budget reports. - [Business documents](concept/business-documents.html): Owners (Customers, Vendors, Employees, Jobs) and their invoices, bills and expense vouchers - Entries, tax tables, billing terms, posting to A/Receivable or A/Payable, payments through Lots, credit notes, and printing an invoice. - [The chart of accounts](concept/chart-of-accounts.html): The Account tree under the root Account, which GnuCash calls the chart of accounts - names, full names, placeholders, hidden Accounts, codes and how to lay one out. - [Closing the books and the accounting period](concept/closing-the-books-and-accounting-period.html): The accounting period (fiscal year bounds, kept in the Configuration) and what book.closeBooks does - one closing Transaction per currency for income and for expenses, moved into equity - and why you rarely need it. Not book.close. - [Coming from GnuCash](concept/coming-from-gnucash.html): What changes if you know GnuCash - no windows, registers or menus, only methods - and GnuCash's words mapped to red-ale's, how the two share books safely, accounts instead of categories, and where the From GnuCash pages are. - [Commodities and currencies](concept/commodities-and-currencies.html): A Commodity is anything an Account can hold - a currency or a security - named by namespace and mnemonic, with a smallest unit. The built-in ISO currencies, euro legacy currencies, display symbols and how to add a security. - [The Configuration](concept/configuration.html): red-ale's own settings file, for what GnuCash keeps in preferences and user files, against Book options, which live in the book. Where it is, how to read and change a Setting by path, secrets, and the settings you are likely to want. - [Dates and time zones](concept/dates-and-time-zones.html): A Date is a calendar day; a timestamp is an instant in UTC. How red-ale stores a posted date, which time zone defines "today" and where a day starts and ends, and how to ask for the accounting period. - [Double entry](concept/double-entry.html): Every Transaction moves value between Accounts and its Split values sum to exactly zero. The accounting equation, debits and credits, and the raw sign red-ale uses for balances. - [Imbalance, orphans and scrubs](concept/imbalance-and-scrubs.html): What the Imbalance-CUR and Orphan-CUR Accounts are, why red-ale refuses an unbalanced Transaction instead of creating them, and how scrub.checkAndRepair puts right a book that already has them. - [Importing and matching](concept/importing-and-matching.html): Importing QIF, CSV and business files in two calls - import.preview builds a proposal and changes nothing, import.apply applies your choices - and how the matcher finds duplicates, scores candidates and learns accounts from import maps. - [Investments](concept/investments.html): Stocks, mutual funds, bonds and fixed assets in the books - one STOCK or MUTUAL Account per holding, shares as amounts, prices in the price database, income Accounts for dividends and interest, and how fees, dividends and returns are recorded. - [Loans and interest](concept/loans-and-interest.html): Principal, interest, compounding and amortisation; how a loan is kept in the books as a liability, the payment formulas red-ale computes exactly, and the loan assistant as scheduledTransaction.loan. There is no loan calculator. - [Lots and capital gains](concept/lots-and-capital-gains.html): A Lot groups the Splits that buy and then sell one holding. Realised and unrealised gains, cost basis, the FIFO lot policy, the gains Transaction red-ale records, and what stock splits do to lots. - [Other assets and depreciation](concept/other-assets-and-depreciation.html): Current and fixed assets, prepaid items and suspense accounts, and depreciation - why, book and tax depreciation, and the linear, geometric and sum-of-digits schemes - recorded with ordinary Accounts and a scheduled transaction. - [Prices and exchange rates](concept/prices-and-exchange-rates.html): The price database holds the value of one Commodity in another at a time. Prices, direct and indirect lookup, same-day rules and source rank, and fetching quotes from Quote services when the Configuration allows the network. - [Read-only books](concept/read-only-books.html): Why a Book opens read-only - you asked, it declares a Book feature red-ale lacks, it holds content red-ale cannot safely edit, or its SQL schema is not GnuCash 5.17's - what readOnlyReasons says and what to do about each. - [Reconciliation](concept/reconciliation.html): Checking an Account against a bank statement. Reconcile states, the statement, ticked Splits, the difference that must reach zero, finishing or postponing, and auto-clear. red-ale keeps no reconcile window - the caller carries the ticks. - [Report scripts](concept/report-scripts.html): User reports - how to write your own report as a .rhai script in the Configuration's report directory. The shape of a script (templates, options, render), option types, the query API's main reads, exact Rational arithmetic, the report result's blocks, limits, library modules and load errors. - [Reports](concept/reports.html): Report templates and their options, the report result and its HTML export, style sheets, saved report configurations and the Multicolumn View - what red-ale ports from GnuCash, and what you write yourself as a User report. - [Scheduled transactions](concept/scheduled-transactions.html): A Scheduled transaction is a Transaction that recurs - a schedule of Recurrences, template Transactions with formulas and variables, and Instances created by Since Last Run. red-ale runs Since Last Run only when asked, as a proposal you apply. - [Trading accounts](concept/trading-accounts.html): With the book option Use Trading Accounts on, every Transaction that crosses Commodities also records what was bought and sold in TRADING Accounts, so amounts balance per Commodity as well as values. What the option does, and what to expect. - [Transactions and Splits](concept/transactions-and-splits.html): A Transaction is a dated, balanced exchange made of two or more Splits, each in one Account. Its dates, description, num, notes, and a Split's memo, action and reconcile state; read-only Transactions. - [Value and amount](concept/value-and-amount.html): A Split has a value, in the Transaction currency, and an amount, in its Account's Commodity. Both are exact rationals; values sum to zero per Transaction. GnuCash's quantity is red-ale's amount. ## Guides - [Back up and recover a book](guide/back-up-and-recover.html): Every save backs up the previous file; a .log journal records changes between saves, and book.replayJournal puts them back after a crash. - [Buy and sell shares](guide/buy-and-sell-shares.html): Set up a security and a brokerage account, record a purchase with its commission, record a sale with the realised gain, and keep the share price up to date. - [Capital gains with lots](guide/capital-gains-with-lots.html): Match each sale of shares to the purchases it came from by putting them in lots, so the book records the realised gain of every sale as GnuCash does. - [Check and repair a book](guide/check-and-repair.html): Find and fix splits with no account, unbalanced transactions and broken lots with scrub.checkAndRepair, and know what each repair changed. - [Close the books](guide/close-the-books.html): At the end of a period, move the income and expense balances into equity with book.closeBooks, so those accounts start the next period at zero. - [Configure red-ale](guide/configure-red-ale.html): Change red-ale's own settings (accounting period, report directory, network) with config.set, and the settings stored in the book with book.setOptions. - [Create a budget](guide/create-a-budget.html): Plan income and spending per account and period, fill the amounts by hand or estimate them from past transactions, and compare plan with actuals in the Budget Report. - [Create, open and save a book](guide/create-open-and-save-a-book.html): Make a new book as XML or SQLite, open an existing one (read-only if you only want to look), save it with a backup, and close it so its lock is released. - [Credit cards](guide/credit-cards.html): Record charges, payments, refunds and interest on a credit card as a liability account, and know what the sign of its balance means. - [Depreciate an asset](guide/depreciate-an-asset.html): Spread the cost of equipment over its useful life with a monthly scheduled transaction that moves an equal amount into a depreciation expense. - [Edit, void and reverse transactions](guide/edit-void-and-reverse-transactions.html): Correct a transaction in place, void it while keeping a record, undo it with a reversing transaction, or delete it; attach a document link to a receipt. - [Employees, vouchers and payroll](guide/employees-and-payroll.html): Add an employee, record expenses they paid as an expense voucher and reimburse them, and record payroll with ordinary accounts and transactions. - [Export data](guide/export-data.html): Get transactions out as CSV, in GnuCash's simple or complex layout, and the account tree as CSV or as a file of accounts and commodities. - [Find transactions](guide/find-transactions.html): Search for transactions by description, date, amount or account with transaction.find; list an account's register with transaction.list; find business documents with invoice.list. - [Import business data](guide/import-business-data.html): Load customers or vendors, and invoices or bills with their lines, from CSV files in GnuCash's layouts, with a preview before anything changes. - [Import transactions](guide/import-transactions.html): Bring bank transactions in from a CSV or QIF file: preview what would happen, choose the accounts, apply the proposal, and let red-ale learn which account a description belongs to. - [Invoices and bills](guide/invoices-and-bills.html): Add a customer or vendor, optionally a job, then create an invoice or bill, add its lines, post it to Receivable or Payable, and unpost or duplicate it. - [Migrate from GnuCash](guide/migrate-from-gnucash.html): Open a copy of your GnuCash file in red-ale, check that it opens as you expect, and bring over data from other tools with CSV and QIF imports. - [Multiple currencies](guide/multiple-currencies.html): Keep an account in a foreign currency, buy that currency, spend it, and record the exchange rate, with each split's value in the transaction currency and its amount in the account's. - [Print an invoice](guide/print-an-invoice.html): Put your company's details in the book, run the Printable Invoice report for a document, and export it as a single HTML page to print or send. - [Process payments](guide/process-payments.html): Record a customer's payment (full, part or over-payment) against open invoices, pay a vendor's bills, turn an existing deposit into a payment, and write off a bad debt. - [Reconcile an account](guide/reconcile-an-account.html): Match an account to a bank or card statement: start with the statement date and ending balance, tick the splits that appear on it, and finish when the difference is zero, or postpone. - [Record deposits and withdrawals](guide/record-deposits-and-withdrawals.html): Enter income, expenses and cash withdrawals as balanced transactions, then check the balance and list what you have entered. - [Record dividends and return of capital](guide/record-dividends.html): Record a cash dividend as income, a reinvested dividend as new shares, and a return of capital as a reduction in cost. - [Record prices and commodities](guide/record-prices.html): Add a security, record its price by hand, turn on online quotes, and tidy old prices out of the price database. - [Turn a report into a PDF](guide/report-to-pdf.html): red-ale exports reports as HTML only; write the HTML to a file with report.export, then convert it with pandoc, wkhtmltopdf or a browser's print-to-PDF. - [Run and export a report](guide/run-and-export-a-report.html): Find a report, read its options, run it for exact figures, export it as HTML or CSV, save a set of options under a name, and choose a style sheet. - [Schedule a transaction](guide/schedule-a-transaction.html): Set up a transaction that repeats (rent, a salary, a loan payment), see when it falls due, and create what is due with Since Last Run. - [Set up accounts](guide/set-up-accounts.html): Build a chart of accounts for a household (assets, credit cards, income, expenses), change it, renumber it, move and delete accounts, and enter opening balances. - [Set up the business features](guide/set-up-business.html): Prepare a book for invoices and bills: receivable and payable accounts, tax tables, billing terms, document numbering and your company's details. - [Split transactions](guide/split-transactions.html): Record one payment that is divided among several accounts (a pay slip, a shop receipt), then add, change or remove a split while keeping the transaction balanced. - [Stock splits and mergers](guide/stock-splits-and-mergers.html): Record a stock split with stock.split, which adds shares at no cost; record a merger by hand with ordinary transactions. - [Track a loan](guide/track-a-loan.html): Record a loan you owe (a car loan or mortgage) with a liability account, the asset it bought and an interest expense; split each payment into principal and interest. - [Transfer between accounts](guide/transfer-between-accounts.html): Move an amount from one account to another with transaction.transfer, including a transfer between accounts in different currencies at an exchange rate. - [Use trading accounts](guide/use-trading-accounts.html): Turn on the Use Trading Accounts book option so every transaction that mixes currencies balances in each currency, and see the Trading accounts it creates. - [Write your own report](guide/write-your-own-report.html): Write a User report as a .rhai script in the report directory, check that report.list shows it, then run it with report.run and export it with report.export. ## Methods - [account.balance](method/account.balance.html): An account's balance, cleared and reconciled balances, optionally as of a date and with sub-accounts. - [account.cascade](method/account.cascade.html): Set colour, placeholder or hidden on an account and all its sub-accounts. - [account.checkBalanceLimit](method/account.checkBalanceLimit.html): Compare an account's balance with its balance limits, as GnuCash's account tree does to warn. - [account.create](method/account.create.html): Create an account under a parent (the root by default). - [account.delete](method/account.delete.html): Delete an account, moving or deleting its transactions and sub-account. - [account.get](method/account.get.html): Describe one account. - [account.list](method/account.list.html): List accounts depth first in the book's order, and names that contain the separator. - [account.move](method/account.move.html): Move an account, with its sub-accounts, under another parent. - [account.openingBalanceAccount](method/account.openingBalanceAccount.html): Find the account GnuCash would put a currency's opening balances in: by its flag, then by name. - [account.renumber](method/account.renumber.html): Renumber the codes of an account's immediate sub-accounts. - [account.tree](method/account.tree.html): The account tree as nested nodes, in the book's order or GnuCash's display order. - [account.types](method/account.types.html): List the account types with GnuCash's labels and rules. - [account.update](method/account.update.html): Change an account's name, type, commodity, smallest fraction, code, notes, flags, tax settings, colour, balance limits, opening balance flag or associated accounts. - [billTerm.create](method/billTerm.create.html): Create a billing term (days or proximo). - [billTerm.delete](method/billTerm.delete.html): Delete a billing term nothing uses. - [billTerm.get](method/billTerm.get.html): A billing term, with its family links. - [billTerm.list](method/billTerm.list.html): Billing terms; frozen copies made by posting only on request. - [billTerm.update](method/billTerm.update.html): Change a billing term. - [book.close](method/book.close.html): Close the open book and release its lock. - [book.closeBooks](method/book.closeBooks.html): Close the books: move income and expense balances into equity at a closing date, one closing transaction per currency. Not book.close. - [book.create](method/book.create.html): Create a new, empty XML or SQLite book and open it. - [book.info](method/book.info.html): Describe the open book: path, read-only state, features and counts. - [book.open](method/book.open.html): Open an XML or SQLite book. Some books open read-only (see readOnlyReasons). - [book.options](method/book.options.html): The book's num field source, auto read-only threshold (with today's threshold date), trading accounts option, default budget, business options and default invoice report. - [book.replayJournal](method/book.replayJournal.html): Replay a GnuCash .log journal onto the open book: create, update or delete transactions by GUID. - [book.save](method/book.save.html): Save the open book, backing up the previous file first (for an SQLite book, before the session's first save). - [book.setOptions](method/book.setOptions.html): Set the num field source, the auto read-only threshold, trading accounts, the default budget, the business options or the default invoice report, as GnuCash's book options dialog does. - [budget.copy](method/budget.copy.html): Copy a budget as GnuCash's Copy Budget does (notes are not copied). - [budget.create](method/budget.create.html): Create a budget; the first sets the Book feature for natural signs. - [budget.delete](method/budget.delete.html): Delete a budget; the last unsets the Book feature for natural signs. - [budget.estimate](method/budget.estimate.html): Overwrite accounts' budget amounts with figures from past transactions, as GnuCash's Estimate dialog does. - [budget.get](method/budget.get.html): One budget with its periods, amounts and notes. - [budget.list](method/budget.list.html): Every budget in book order, and which is the default. - [budget.scrubSigns](method/budget.scrubSigns.html): Run GnuCash's natural-signs scrub: guess each budget's old sign convention and flip amounts to match. - [budget.setAmounts](method/budget.setAmounts.html): Set or unset many budget amounts, atomically. - [budget.setNotes](method/budget.setNotes.html): Set or delete many budget notes, atomically. - [budget.update](method/budget.update.html): Change a budget's name, description, number of periods or recurrence. - [commodity.create](method/commodity.create.html): Create a security, with the security editor's checks. - [commodity.delete](method/commodity.delete.html): Delete a security that nothing uses; its prices go too only with deletePrices. - [commodity.get](method/commodity.get.html): Describe one commodity, with how much of the book uses it. - [commodity.list](method/commodity.list.html): List commodities: the book's own and the built-in ISO 4217 currencies. - [commodity.namespaces](method/commodity.namespaces.html): List the commodity namespaces with how many commodities each holds. - [commodity.update](method/commodity.update.html): Edit a security (any field, including a rename) or a currency's quote flag, quote time zone and symbol. - [config.get](method/config.get.html): The whole Configuration, or one setting by path, with defaults filled in; secrets shown only as set or unset. - [config.schema](method/config.schema.html): The Configuration's JSON Schema: every setting, its type, default and description. - [config.set](method/config.set.html): Change one or more settings by path, validated against the schema, all or none; null restores a default. - [counter.list](method/counter.list.html): Every counter: the last number issued, its format and the next ID it would give. - [counter.set](method/counter.set.html): Set a counter's last number issued or its format; a null or empty format means the default. - [currency.euroConvert](method/currency.euroConvert.html): Convert between the euro and a currency it replaced, at GnuCash's fixed rates. - [currency.list](method/currency.list.html): List GnuCash 5.17's built-in ISO 4217 currencies. - [customer.create](method/customer.create.html): Create a customer; its ID comes from the book's counter unless given. - [customer.get](method/customer.get.html): A customer. - [customer.list](method/customer.list.html): Customers, optionally filtered by name, ID or active state. - [customer.update](method/customer.update.html): Change a customer; `active: false` deactivates it. - [docLink.documents](method/docLink.documents.html): Invoices, bills and vouchers with a document link, with the URI each one opens. - [docLink.pathHead](method/docLink.pathHead.html): The configured folder relative document links start from. - [docLink.setPathHead](method/docLink.setPathHead.html): Set or remove the folder relative document links start from, in red-ale's configuration. - [docLink.transactions](method/docLink.transactions.html): Transactions with a document link, with the URI each one opens. - [employee.create](method/employee.create.html): Create an employee; its ID comes from the book's counter unless given. - [employee.get](method/employee.get.html): An employee. - [employee.list](method/employee.list.html): Employees, optionally filtered by name, ID or active state. - [employee.update](method/employee.update.html): Change an employee; `active: false` deactivates it. - [export.accounts](method/export.accounts.html): Write a new book file holding the open book's account tree and commodities, and no transactions. Never overwrites a file. - [export.csvTransactions](method/export.csvTransactions.html): Transactions of some accounts and dates as CSV text, in GnuCash's simple or complex layout. Writes no file. - [export.csvTree](method/export.csvTree.html): The account tree as CSV text, as GnuCash's CSV export writes it. Writes no file. - [help.get](method/help.get.html): One Page of the Manual, by Page ID or method name, as Markdown or text, with its Examples for one door. - [help.search](method/help.search.html): Pages of the Manual ranked for a question in your own words, best first, each with a snippet. - [help.topics](method/help.topics.html): Every Page of red-ale's Manual, or those of one kind: Page ID, kind, title and summary. - [import.apply](method/import.apply.html): Apply a held Import proposal with the caller's changes, as one Mutation. - [import.discard](method/import.discard.html): Drop a held Import proposal. - [import.preview](method/import.preview.html): Read a file and propose what importing it would do: the Import proposal, held by ID. Changes nothing. - [importMap.delete](method/importMap.delete.html): Delete Import map or online entries, one by one, by kind, or every invalid one. - [importMap.list](method/importMap.list.html): List Import map entries (Bayesian, desc, memo, csv-account-map) and online entries. - [invoice.addEntry](method/invoice.addEntry.html): Add a line to an unposted document (and optionally to an order). - [invoice.create](method/invoice.create.html): Create an invoice, bill or expense voucher; the owner decides which. - [invoice.delete](method/invoice.delete.html): Delete an unposted document and its lines. - [invoice.due](method/invoice.due.html): Posted, unpaid documents falling due within some days: GnuCash's bills-due and invoices-due reminders. - [invoice.dueDate](method/invoice.dueDate.html): When a document posted on a date falls due under its (or a given) billing term. - [invoice.duplicate](method/invoice.duplicate.html): Copy a document and its lines into a new unposted document with a new number and date, as GnuCash's Duplicate does. - [invoice.get](method/invoice.get.html): A document with its lines. - [invoice.list](method/invoice.list.html): Invoices, bills and vouchers, optionally filtered. - [invoice.pay](method/invoice.pay.html): Record a payment of one posted document. - [invoice.post](method/invoice.post.html): Post a document to an A/R or A/P account: its transaction, lot, frozen tax tables and terms. - [invoice.removeEntry](method/invoice.removeEntry.html): Delete a line from its documents and order. - [invoice.totals](method/invoice.totals.html): A document's subtotal, tax and total, per tax account and per entry, as GnuCash computes them. - [invoice.unpost](method/invoice.unpost.html): Unpost a document: delete its posted transaction and lot links; payments stay as pre-payments. - [invoice.update](method/invoice.update.html): Change an unposted document, or (de)activate any document. - [invoice.updateEntry](method/invoice.updateEntry.html): Change a line of an unposted document or open order. - [job.create](method/job.create.html): Create a job for a customer or vendor; its ID comes from the book's counter unless given. - [job.get](method/job.get.html): A job. - [job.list](method/job.list.html): Jobs, optionally filtered by owner, name, ID or active state. - [job.update](method/job.update.html): Change a job; `active: false` deactivates it. - [lot.assignSplit](method/lot.assignSplit.html): Put a split in a lot, cutting it if it would overfill the lot; without a lot, FIFO chooses. - [lot.computeGains](method/lot.computeGains.html): Recompute a lot's capital gains, recording them in gains transactions. - [lot.create](method/lot.create.html): Make an empty lot in an account, titled `Lot ` unless a title is given. - [lot.delete](method/lot.delete.html): Delete a lot; its splits stay but leave the lot. A lot with splits needs releaseSplits. - [lot.freeSplits](method/lot.freeSplits.html): List an account's splits that are in no lot, with the gain each would realise against a lot. - [lot.get](method/lot.get.html): Describe one lot with its splits. - [lot.list](method/lot.list.html): List an account's lots as the lot viewer shows them, optionally only open or closed ones. - [lot.removeSplit](method/lot.removeSplit.html): Take a split out of its lot; a lot left empty is deleted. - [lot.scrub](method/lot.scrub.html): Repair one lot: merge cut pieces, refill it and recompute its capital gains. - [lot.scrubAccount](method/lot.scrubAccount.html): Assign an account's splits to lots by FIFO and repair every lot, optionally for its sub-accounts too. - [lot.update](method/lot.update.html): Set a lot's title or notes; an empty string removes one. - [order.addEntry](method/order.addEntry.html): Add a line to an open order. - [order.close](method/order.close.html): Close an order that has lines. - [order.create](method/order.create.html): Create an order for a customer, vendor or job. - [order.get](method/order.get.html): An order with its lines. - [order.list](method/order.list.html): Orders, optionally filtered. - [order.removeEntry](method/order.removeEntry.html): Delete a line (same as invoice.removeEntry). - [order.update](method/order.update.html): Change an order. - [order.updateEntry](method/order.updateEntry.html): Change a line of an open order (same as invoice.updateEntry). - [payment.fromTransaction](method/payment.fromTransaction.html): Turn an existing transaction into a payment and apply it, or re-match an existing payment; its other splits are deleted. - [payment.openItems](method/payment.openItems.html): An owner's open documents and pre-payments in an A/R or A/P account, in the order GnuCash's payment dialog applies them. - [payment.process](method/payment.process.html): Record an owner's payment and apply it to chosen documents, or to the oldest open ones. - [period.dates](method/period.dates.html): The first and last days of the accounting period containing today or a given date. - [period.get](method/period.get.html): The configured accounting period and fiscal year end. - [period.set](method/period.set.html): Set the accounting period or the fiscal year end in red-ale's configuration. - [price.add](method/price.add.html): Add a price; a same-day price of the pair is replaced or wins by source precedence, as GnuCash does. - [price.delete](method/price.delete.html): Delete a price. - [price.fetchQuotes](method/price.fetchQuotes.html): Start a Quote fetch of online prices; returns its ID at once. - [price.fetchStatus](method/price.fetchStatus.html): A Quote fetch's state and, per commodity, the price stored or why there is none. - [price.get](method/price.get.html): Describe one price. - [price.latest](method/price.latest.html): The latest price of a commodity in a currency, either direction. - [price.list](method/price.list.html): List prices, by commodity, currency and date range, in GnuCash's order. - [price.nearest](method/price.nearest.html): The price of a commodity in a currency nearest to a time, before it, or on its day. - [price.removeOld](method/price.removeOld.html): Remove old prices, keeping the last of each week, month, quarter or fiscal year. - [price.update](method/price.update.html): Edit a price's value, time, source, type, commodity or currency, as the price editor does. - [reconcile.autoClear](method/reconcile.autoClear.html): Auto-clear an account: mark cleared the one set of uncleared splits that brings its cleared balance to a figure. - [reconcile.findAutoClear](method/reconcile.findAutoClear.html): Find the one set of uncleared splits that brings an account's cleared balance to a figure, as GnuCash's Auto-clear does. - [reconcile.finish](method/reconcile.finish.html): Finish a reconciliation: ticked splits become reconciled and the statement date becomes the last reconcile date. - [reconcile.info](method/reconcile.info.html): An account's reconcile information: last reconcile date and interval, postponed reconciliation. - [reconcile.postpone](method/reconcile.postpone.html): Postpone a reconciliation: ticked splits become cleared and the statement is kept for next time. - [reconcile.setInfo](method/reconcile.setInfo.html): Set or remove an account's last reconcile date, interval, postponed reconciliation or sub-account flag. - [reconcile.setState](method/reconcile.setState.html): Set a split's reconcile state (n, c, y or f); y stamps the reconcile date. - [reconcile.start](method/reconcile.start.html): Start reconciling an account against a statement: GnuCash's defaults, the splits to tick and the balances. - [reconcile.status](method/reconcile.status.html): The splits, balances and difference of a reconciliation for a set of ticks, with marks and unmarks applied. - [report.createStyleSheet](method/report.createStyleSheet.html): Create a style sheet from a style sheet template in red-ale's configuration. - [report.deleteConfiguration](method/report.deleteConfiguration.html): Delete a saved report configuration. - [report.deleteStyleSheet](method/report.deleteStyleSheet.html): Delete a user style sheet, or reset a predefined one to its template's defaults. - [report.export](method/report.export.html): Run a report and render it through a style sheet as one self-contained HTML document. - [report.exportCsv](method/report.exportCsv.html): Run a net or category chart and return its data as CSV, as GnuCash's CSV export of those charts writes it. - [report.importConfigurations](method/report.importConfigurations.html): Import GnuCash's saved report configurations from the text of its saved-reports-2.8 file, read as data, never run. - [report.importStyleSheets](method/report.importStyleSheets.html): Import GnuCash's style sheets from the text of its stylesheets-2.0 file, read as data, never run. - [report.list](method/report.list.html): Every report template and saved report configuration, and the user scripts that did not load. - [report.options](method/report.options.html): A report's options with their defaults and values, and the JSON Schema of its options param. - [report.renameConfiguration](method/report.renameConfiguration.html): Rename a saved report configuration. - [report.run](method/report.run.html): Run a report on the open book: the report result, with exact figures. - [report.saveConfiguration](method/report.saveConfiguration.html): Save a report's options under a new name in red-ale's configuration. - [report.styleSheets](method/report.styleSheets.html): Style sheet templates and style sheets, with their options. - [report.updateConfiguration](method/report.updateConfiguration.html): Change options of a saved report configuration. - [report.updateStyleSheet](method/report.updateStyleSheet.html): Change a style sheet's options. - [scheduledTransaction.apply](method/scheduledTransaction.apply.html): Apply a held Since Last Run proposal with the caller's choices, as one Mutation. - [scheduledTransaction.create](method/scheduledTransaction.create.html): Create a scheduled transaction with its template transactions. - [scheduledTransaction.delete](method/scheduledTransaction.delete.html): Delete a scheduled transaction with its template account and template transactions. - [scheduledTransaction.discard](method/scheduledTransaction.discard.html): Drop a held Since Last Run proposal. - [scheduledTransaction.fromTransaction](method/scheduledTransaction.fromTransaction.html): Make a scheduled transaction from a transaction, as GnuCash's Schedule from transaction does. - [scheduledTransaction.get](method/scheduledTransaction.get.html): One scheduled transaction with its template transactions. - [scheduledTransaction.list](method/scheduledTransaction.list.html): Scheduled transactions in book order. - [scheduledTransaction.loan](method/scheduledTransaction.loan.html): Make a loan's repayment scheduled transaction, as GnuCash's mortgage and loan assistant does. - [scheduledTransaction.occurrences](method/scheduledTransaction.occurrences.html): The next occurrence dates of a scheduled transaction, or of a Schedule not yet saved. - [scheduledTransaction.sinceLastRun](method/scheduledTransaction.sinceLastRun.html): Propose the due instances of every enabled scheduled transaction: the Since Last Run proposal, held by ID. Changes nothing. - [scheduledTransaction.update](method/scheduledTransaction.update.html): Change a scheduled transaction's fields, Schedule, end or template transactions. - [scrub.checkAndRepair](method/scrub.checkAndRepair.html): GnuCash's Check & Repair: orphans, then imbalances, then (if asked) lots. - [scrub.currency](method/scrub.currency.html): Give transactions whose currency is not a currency the most common currency of their splits. - [scrub.imbalance](method/scrub.imbalance.html): Balance unbalanced transactions with an Imbalance- split, after fixing orphans and split amounts. - [scrub.orphans](method/scrub.orphans.html): Put splits with no account into an Orphan- account, balancing each transaction changed. - [stock.split](method/stock.split.html): Record a stock split, with an optional price and cash in lieu, as GnuCash's assistant does. - [taxTable.create](method/taxTable.create.html): Create a tax table with one or more lines. - [taxTable.delete](method/taxTable.delete.html): Delete a tax table nothing uses. - [taxTable.get](method/taxTable.get.html): A tax table, with its lines and family links. - [taxTable.list](method/taxTable.list.html): Tax tables; frozen copies made by posting only on request. - [taxTable.update](method/taxTable.update.html): Rename a tax table or replace its lines. - [transaction.delete](method/transaction.delete.html): Delete a transaction that is not read-only. - [transaction.find](method/transaction.find.html): Find splits with the criteria of GnuCash's Find Transaction dialog. - [transaction.get](method/transaction.get.html): A transaction with its splits. - [transaction.list](method/transaction.list.html): Transactions, optionally in one account and a date range, in GnuCash's order. - [transaction.post](method/transaction.post.html): Post a balanced transaction; refused if unbalanced. - [transaction.reverse](method/transaction.reverse.html): Create the reversing transaction of a transaction. - [transaction.transfer](method/transaction.transfer.html): Transfer between two accounts, at a rate when their commodities differ, recording the price. - [transaction.unvoid](method/transaction.unvoid.html): Restore a voided transaction. - [transaction.update](method/transaction.update.html): Change a transaction's fields, currency and splits; the result must balance. - [transaction.void](method/transaction.void.html): Void a transaction as GnuCash does: values kept in slots, splits zeroed and marked v. - [vendor.create](method/vendor.create.html): Create a vendor; its ID comes from the book's counter unless given. - [vendor.get](method/vendor.get.html): A vendor. - [vendor.list](method/vendor.list.html): Vendors, optionally filtered by name, ID or active state. - [vendor.update](method/vendor.update.html): Change a vendor; `active: false` deactivates it. ## Errors - [arithmetic](error/arithmetic.html): Exact arithmetic overflowed or was undefined. - [backup-failed](error/backup-failed.html): The backup could not be made, so nothing was written. - [book-already-open](error/book-already-open.html): A book is already open in this server. - [book-changed](error/book-changed.html): Another program changed the SQLite book since red-ale read it. - [book-locked](error/book-locked.html): Another program holds the book's lock. - [cannot-lock](error/cannot-lock.html): The lock could not be taken because the location is not writable. - [conflict](error/conflict.html): The entity exists but may not be changed this way. - [file-exists](error/file-exists.html): The file to create already exists. - [file-format](error/file-format.html): The file is not a readable GnuCash XML book or journal. - [formula](error/formula.html): A scheduled transaction's formula could not be used. - [import-file](error/import-file.html): An import file cannot be read as its format. - [internal-error](error/internal-error.html): A bug in red-ale. - [invalid](error/invalid.html): The request is not valid for the book as it stands. - [invalid-params](error/invalid-params.html): The params do not match the method's schema. - [invalid-request](error/invalid-request.html): The request was JSON but not a JSON-RPC 2.0 request. - [io-error](error/io-error.html): A file operation failed. - [method-not-found](error/method-not-found.html): No method has that name. - [network-disabled](error/network-disabled.html): The method needs the network and the Configuration has it off. - [no-book](error/no-book.html): No book is open. - [not-found](error/not-found.html): An entity named in the request does not exist. - [parse-error](error/parse-error.html): The request was not valid JSON. - [read-only](error/read-only.html): The book is open read-only, so it cannot be changed. - [report-limit](error/report-limit.html): A report script passed one of its limits. - [report-load](error/report-load.html): A user report script does not load. - [report-option](error/report-option.html): A report option value is not valid. - [report-result](error/report-result.html): A report script returned a malformed result. - [report-script](error/report-script.html): A report script failed while running. - [save-verification](error/save-verification.html): The file written did not read back as the same book, so it was removed. - [sql-book](error/sql-book.html): The book is on a database server, which red-ale does not open. - [unbalanced](error/unbalanced.html): A transaction would not balance, so nothing was changed. - [unsaved-changes](error/unsaved-changes.html): The book has changes not yet saved. - [unsupported-uri](error/unsupported-uri.html): The path is a URI scheme red-ale does not use. ## Reports - [Account Summary](report/account-summary.html): The Account Summary report. - [Advanced Portfolio](report/advanced-portfolio.html): The Advanced Portfolio report. - [Assets](report/assets.html): Shows a piechart with the Assets balance at a given time - [Assets Over Time](report/assets-over-time.html): Shows a chart with the Assets developing over time - [Average Balance](report/average-balance.html): The Average Balance report. - [Balance Forecast](report/balance-forecast.html): The Balance Forecast report. - [Balance Sheet](report/balance-sheet.html): The Balance Sheet report. - [Balance Sheet (Multicolumn)](report/balance-sheet-multicolumn.html): The Balance Sheet (Multicolumn) report. - [Budget Balance Sheet](report/budget-balance-sheet.html): The Budget Balance Sheet report. - [Budget Chart](report/budget-chart.html): The Budget Chart report. - [Budget Flow](report/budget-flow.html): The Budget Flow report. - [Budget Income Statement](report/budget-income-statement.html): The Budget Income Statement report. - [Budget Profit & Loss](report/budget-profit-loss.html): The Budget Profit & Loss report. - [Budget Report](report/budget-report.html): The Budget Report report. - [Cash Flow](report/cash-flow.html): The Cash Flow report. - [Cash Flow Barchart](report/cash-flow-barchart.html): Shows a barchart with cash flow over time - [Dashboard](report/dashboard.html): A basic dashboard for your accounting data - [Equity Statement](report/equity-statement.html): The Equity Statement report. - [Expense Accounts](report/expense-accounts.html): Shows a piechart with the Expenses per given time interval - [Expense Over Time](report/expense-over-time.html): Shows a chart with the Expenses per interval developing over time - [Expenses vs. Day of Week](report/expenses-vs-day-of-week.html): Shows a piechart with the total expenses for each day of the week - [Future Scheduled Transactions Summary](report/future-scheduled-transactions-summary.html): The Future Scheduled Transactions Summary report. - [General Journal](report/general-journal.html): The General Journal report. - [General Ledger](report/general-ledger.html): The General Ledger report. - [IFRS weighted-average cost basis report](report/ifrs-weighted-average-cost-basis-report.html): The IFRS weighted-average cost basis report report. - [Income Accounts](report/income-accounts.html): Shows a piechart with the Income per given time interval - [Income/Expense Chart](report/income-expense-chart.html): The Income/Expense Chart report. - [Income & Expense Linechart](report/income-expense-linechart.html): The Income & Expense Linechart report. - [Income Over Time](report/income-over-time.html): Shows a chart with the Income per interval developing over time - [Income Statement](report/income-statement.html): The Income Statement report. - [Income Statement (Multicolumn)](report/income-statement-multicolumn.html): The Income Statement (Multicolumn) report. - [Income vs. Day of Week](report/income-vs-day-of-week.html): Shows a piechart with the total income for each day of the week - [Investment Lots](report/investment-lots.html): The Investment Lots report. - [Investment Portfolio](report/investment-portfolio.html): The Investment Portfolio report. - [Liabilities](report/liabilities.html): Shows a piechart with the Liabilities balance at a given time - [Liabilities Over Time](report/liabilities-over-time.html): Shows a chart with the Liabilities developing over time - [Multicolumn View](report/multicolumn-view.html): The Multicolumn View report. - [Net Worth Barchart](report/net-worth-barchart.html): The Net Worth Barchart report. - [Net Worth Linechart](report/net-worth-linechart.html): The Net Worth Linechart report. - [Price Scatterplot](report/price-scatterplot.html): The Price Scatterplot report. - [Printable Invoice](report/printable-invoice.html): The Printable Invoice report. - [Profit & Loss](report/profit-loss.html): The Profit & Loss report. - [Reconciliation Report](report/reconciliation-report.html): The Reconciliation Report report. - [Securities](report/securities.html): Shows a piechart with distribution of assets over securities - [Transaction Breakdown Report](report/transaction-breakdown-report.html): The Transaction Breakdown Report report. - [Transaction Report](report/transaction-report.html): The Transaction Report report. - [Trial Balance](report/trial-balance.html): The Trial Balance report. ## From GnuCash - [Accounts and the Actions menu](gnucash/account-menu.html): GnuCash's Edit and Actions menus for Accounts mapped to methods - New Account, Edit Account, Delete Account, Cascade, Renumber Subaccounts, Transfer, Reconcile, Auto clear, Check and Repair, View Lots. Find Account, Open Account and the New Account Hierarchy assistant have no counterpart. - [Business menu](gnucash/business-menu.html): GnuCash's Business menu mapped to methods - Customers, Vendors, Employees, Jobs, Invoices, Bills, Expense Vouchers, Process Payment, due reminders, Sales Tax Tables and Billing Terms. Find windows are list methods; printing is report.run. - [File menu and the New File assistant](gnucash/file-menu.html): GnuCash's File menu mapped to methods - File > New File is book.create, Open is book.open, Save is book.save, Revert is book.close with discard, Export is the export methods, Properties is book.options. There is no Save As, no Print and no Account templates. - [Import and export](gnucash/import-and-export.html): GnuCash's File > Import and File > Export mapped to methods - QIF, CSV transactions, accounts, prices, bills and invoices, and customers and vendors through import.preview and import.apply; exports through the export methods. OFX, QFX, MT940 and the AqBanking formats are not supported. - [Not in red-ale](gnucash/not-in-red-ale.html): What GnuCash does that red-ale does not, and what to do instead - the GUI, online banking, OFX and the AqBanking formats, Finance::Quote, PDF export, MySQL and PostgreSQL books, the Python and Guile interfaces, and the business and tax reports that are not ported. - [Preferences and book options](gnucash/preferences-and-book-options.html): GnuCash's Edit > Preferences become Configuration settings read with config.get and changed with config.set; File > Properties (Book Options) become book.options and book.setOptions, with counters in counter.list and counter.set. Preferences about windows, registers and printing have no counterpart. - [Reports menu and the report window](gnucash/reports-menu.html): GnuCash's Reports menu mapped to report names for report.run, and the report window's File and Edit menus mapped to report.saveConfiguration, report.export and report.styleSheets. The business and tax reports that are not ported are written as User reports. - [Stock assistants](gnucash/stock-assistants.html): Actions > Stock Split is stock.split. The Stock Transaction assistant (Buy, Sell, Dividend, Return of Capital, Notional Distribution, Reverse Split) is not provided; each of its transactions is a transaction.post, and the recipes below say how. - [Tools, scheduled transactions and budgets](gnucash/tools-menu.html): GnuCash's Tools menu and the Actions submenus for scheduled transactions and budgets mapped to methods - Find, General Journal, Price Database, Security Editor, Close Book, Lots, Import Map Editor, Since Last Run, Scheduled Transaction Editor, the loan assistant and Budget. The Loan Repayment Calculator and Online Banking Setup are not provided. - [Transaction menu and the register](gnucash/transaction-menu.html): GnuCash's register and Transaction menu mapped to methods - entering a Transaction is transaction.post, the Transfer dialog is transaction.transfer, and Void, Unvoid, Reverse, Delete, Duplicate, document links and the register's columns each have a method or a stated replacement. - [Windows and registers](gnucash/windows-and-registers.html): GnuCash's main windows mapped to methods - the Account tree window is account.tree, an Account register is transaction.list and transaction.post, the Reconcile window is reconcile.*, and the report, scheduled transaction, budget and business windows are their own methods. Tabs, toolbars and summary bars have no counterpart. ## Notices, History and licence - [GNU Free Documentation License](legal/gfdl.html): The licence of the Manual's text: the GNU Free Documentation License, version 1.1. - [History](legal/history.html): The releases of the red-ale Manual, and the documents it draws on. - [Copyright and licence notices](legal/notices.html): Who holds the copyright in the red-ale Manual, and the licence it is under. ## Optional - [llms-full.txt](llms-full.txt): every Page as Markdown, in one file - [schema.json](schema.json): the API's schema document (`api.schema`)