7.1. Initial Setup

To set up GnuCash to handle accounts receivable and accounts payable for a company the following preliminary steps must be done.

7.1.1. Account Setup

There are many different ways to set up a business account hierarchy. You can start with the Business Accounts setup which is available from the New Account Hierarchy assistant, or you could build one manually. To access the prebuilt Business Accounts, start GnuCash and click on FileNew File and proceed until you see the list of available accounts, select Business Accounts.


The prebuilt Business Account hierarchy will not meet your needs exactly. You will need to make adjustments for the hierarchy to function well with your particular situation. It should be close enough that it is recommended you begin with it.

7.1.2. Tax Tables

Tax Tables can used to determine the tax for customer invoices (or vendor bills).

A tax table can be assigned to an invoice line or bill line.

The default invoice line tax table can be assigned to each customer and the default bill line tax table can be assigned to each vendor.

The default tax table for new customers or new vendors can be specified in the Book Options window which can be accessed by FilePropertiesBusiness tab.

Tax Tables are maintained using the Sales Tax Table editor which is accessed via menu BusinessSales Tax Table . The following fields should be entered:

  • Name This is the tax table name.

  • Type Either Percent % or Value $.

  • ValueThis is the percentage or value depending on Type.

  • Account This is the account to which tax will be posted. For tax collected from customers, this should probably be a Liability account as it must be payed to the government. For tax paid to vendors, if tax laws allow tax paid to vendors to offset tax collected from customers, this should probably also be a Liability account (even though it will usually have a debit balance) so that the net tax owed to the government can be easily observed.

    If you set up Tax on Purchases and Tax on Sales as subaccounts of Liabilities:Tax then the net tax will be rolled up and can be seen in the GnuCash Accounts tab.

    If unsure about tax law requirements, get professional advice.

7.1.3. Company Registration

After you have built the account structure and defined your tax tables, register the GnuCash file as belonging to your company by filling in the data requested in the Section 10.3.3, “Business Book Options Tab” accessible from the FileProperties menu item.

7.1.4. Counters

Define the format and last used numbers of codes such as customer, invoice, vendor, bill, employee, expense voucher, job number and order. See Section 10.3.4, “Counters Book Options Tab”.

7.1.5. Business Preferences

Set options on the Business tab of the GnuCash preferences, which is accessed via EditPreferences ( GnuCashPreferences on macOS). See Section 10.2.3, “Business”.

7.1.6. Billing Terms

Billing Terms can be used to determine the payment due date and be a guide for determining discount for early payment of invoices (or vendor bills).


As of GnuCash 2.6.7, Billing terms are only partially supported. Date due is calculated but discount amount is not.

Discount for early invoice payment is not implemented. There are 2 ways this may be done, although neither is recommended, and professional advice should be used to confirm that regulations are being complied with:

  • After creating and posting a payment which pays the invoice in full, manually edit the payment transaction (usually strongly discouraged) and split the payment to reduce it by the amount of the discount and a create a compensating split in an income (discount) account.

  • Alternatively, after creating and posting a payment for the discounted amount, create a credit note for the discount using a specific negative sales income (discount) account for the transfer account.

You can specify the billing terms on each invoice/bill. Invoice billing terms will default from the customer billing terms. Bill billing terms will default from the vendor billing terms.

Billing Terms are maintained using the Billing Terms Editor which is accessed via menu BusinessBilling Terms Editor . The following fields should be entered:

  • Name The internal name of the billing term. For some examples of billing term names and descriptions see https://wiki.gnucash.org/wiki/Payment_Terms

  • Description The description of the billing term, printed on invoices

  • There are 2 types of billing terms, with different information to be entered

    • Type Days

      • Due Days The invoice or bill is due to be paid within this number of days after the post date

      • Discount Days The number of days after the post date during which a discount will be applied for early payment

      • Discount % The percentage discount applied for early payment

    • Type Proximo

      • Due Day The day of the month bills are due

      • Discount Day The last day of the month for the early payment discount

      • Discount % The discount percentage applied if paid early

      • Cutoff Day The cutoff day for applying bills to the next month. After the cutoff, bills are applied to the following month. Negative values count backwards from the end of the month.