Skip to main content

Income and expense

docs image

Income and expense

Managing stores additional income and expenses

Stores might have certain expenses which they pay out directly from the cash drawer. The same goes for random income, e.g. customers that leave their change. Such income and expenses can be reported in POS.


In order to be able to access this chapter, you need the CashExpenses and CashExpenseTypes permission.

Income and Expense types

Before being able to report income and expenses, you need to set up income and expense types in the Finance module of Admin Suite under Income and expenses.

The following modal shows you all required and optional fields when creating a new income or expense type.

Ledger class ID

Mind that the Ledger class ID field - 8 character maximum - is not required, but you will need it if you want to include this income/expense in one of your Cookbook recipes.

Reporting income and expenses in POS

From the More options tab on your POS App, tapping Income and expenses under Financial bookings will give you the option to add a new income or expense.

This is the place where in-store income and expenses that fall out of the ordinary store activities should be recorded. Think of things like a daily lunch allowance, unexpected maintenance work where on-the-spot payments were made or just customer change that was left behind.

You will then be prompted to fill in some details and will be prompted to upload an image if appropriate settings are configured.

Impacting income and expenses settings:

SettingDescriptionValue expectedDefault value
App:CashExpense:Image:EnforcedEnforce stores to always include a receipt photo when App users add an expense.false or truefalse
App:CashExpense:Image:EnabledAllows App users to attach an image when adding an expense. This becomes mandatory if the above setting is set to true.false or truefalse
App:CashExpense:WarningThresholdDefines a threshold for the maximum cash expense amount (in the currency of the organization) before a warning should be raised, to prevent mistakes. Defaults to null, which means no warning should be raised.Real numbers (decimals allowed)N/A