Business menu
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.
GnuCash's Business menu has a submenu for each kind of Owner. red-ale has the same objects, each with create,
get, list and update methods, and a "Find" window is a list method. See
Business documents for the model.
Customer
| GnuCash | red-ale |
|---|---|
| Customers Overview | customer.list |
| New Customer... | customer.create: ID (from the next counter if you leave it out), name, address, terms, tax settings, credit limit. Edit with customer.update; customer.get reads one |
| Find Customer... | customer.list, filtered by you |
| New Invoice... | invoice.create for the Customer, then invoice.addEntry for each line. Make a credit note with creditNote: true |
| Edit Invoice | invoice.update, invoice.updateEntry and invoice.removeEntry, while it is unposted. invoice.totals gives the subtotal, tax and total |
| Post (in the invoice window) | invoice.post: the A/Receivable Account, the posting date, an optional due date |
| Unpost | invoice.unpost |
| Duplicate Invoice | invoice.duplicate |
| Find Invoice... | invoice.list |
| New Job..., Find Job... | job.create, job.list |
| Process Payment... | payment.openItems lists what can be paid, then payment.process; one document: invoice.pay |
| Invoices Due Reminder | invoice.due |
Vendor
| GnuCash | red-ale |
|---|---|
| Vendors Overview, Find Vendor... | vendor.list, vendor.get |
| New Vendor... | vendor.create, vendor.update |
| New Bill..., Find Bill... | invoice.create for the Vendor, invoice.list. Everything above for invoices applies to bills; post to an A/Payable Account |
| New Job..., Find Job... | job.create, job.list |
| Process Payment... | payment.process |
| Bills Due Reminder | invoice.due |
Employee
| GnuCash | red-ale |
|---|---|
| Employees Overview, Find Employee... | employee.list, employee.get |
| New Employee... | employee.create, employee.update |
| New Expense Voucher..., Find Expense Voucher... | invoice.create for the Employee, invoice.list |
| Process Payment... | payment.process |
The rest of the menu
| GnuCash | red-ale |
|---|---|
| Sales Tax Table | taxTable.create, .get, .list, .update and .delete. A table in use cannot be deleted |
| Billing Terms Editor | billTerm.create, .get, .list, .update and .delete |
| Business Linked Documents | docLink.documents |
| Orders | order.create, order.addEntry, order.close and the rest of order.* |
| File > Properties > Counters tab | counter.list, counter.set |
| File > Properties > Business tab | book.options, book.setOptions: the company details, the default invoice report |
Printing an invoice
GnuCash's File > Print Invoice runs the Book's Default Invoice Report for the document, falling back to the
Printable Invoice when that setting is not an invoice report. In red-ale that is
report.run (or report.export for HTML) with the invoice report and its
Invoice Number option set to the document's GUID:
- Read
defaultInvoiceReportfrombook.options. - If it names an invoice report red-ale has, run that. If it is empty, or names one red-ale does not have (the Easy or Fancy Invoice, say), run the Printable Invoice, as GnuCash falls back to it.
- Pass
{"General": {"Invoice Number": "<guid>"}}asoptions.
The company details printed on it are the book's Business options. The Easy, Fancy, Tax and Australian Tax invoices and the Receipt are not ported; see Reports menu.
What is not here
GnuCash has no payroll system and neither has red-ale. The customer, vendor, employee and job reports, aging reports and the Customer Summary are not ported: write them as User reports.