> For the complete documentation index, see [llms.txt](https://docs.pakk.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pakk.io/customers-and-sales/loyalty-program/accounting-considerations.md).

# Accounting Considerations

Loyalty Programs are fully integrated into the built-in Pakk accounting system such that you will always be tracking, in real time.

* The number of loyalty points that have been earned but not spent (points outstanding, a liability).
* The value of discounts given through redemption of points (an expense).

Remember that the Pakk accounting system allows for multi-asset denomination accounts. In short, that means we are able to track accumulation of points directly in points value (i.e., without converting to monetary value). Since different Loyalty Programs that you might operate might have different point values, points from each Loyalty Program are tracked separately using their own ‘currency symbol’. This is why, when setting up a Loyalty Program, you are asked to specify a 4-character symbol. For example, if I was setting up a Loyalty Program for Pakk, I might choose the symbol ‘PKLP’.

> > Once you've set a currency symbol for Loyalty Program, you cannot change it. This is to prevent imbalances in the accounts through a change in the 'currency' denomination.

This tracking is achieved by including extra lines on Journal Entries where loyalty points are earned or spent. The exact mechanics are probably only of interest to accountants, but here’s a quick summary:

* When points are earned, the liability account you chose when setting up the Loyalty Program is impacted (the liability increases, which is actually a negative entry).
* The counterpart to this line is an equal and opposite entry in the ‘Points Distributed’ expense account.
* When points are spent, the exact opposite occurs, i.e., the liability of outstanding points is reduced, as well as the ‘Points Distributed’ expense.
* Also, when points are spent, another journal line is created which expenses the monetary value of the discount for which the points are exchanged.
* The counterpart to this line is part of the top-line sales income that is recorded for the order.

Here’s a highly simplified worked example:

A customer places an order for £50 gross. They redeem 100 points for a £10 discount, leaving a £40 total which is paid. They earn 40 points on this order.

* £50 sales income is recorded.
* £10 discount expense is recorded.
* 100 points are deducted from both the points liability account and the points distributed expense account.
* 40 points are added to both the points liability account and the points distributed expense account.

Generally, all journal impacting around Loyalty Points is done via Sales Orders, but if you choose to manually adjust a customer’s loyalty balance (as described above), a Journal Entry recording the impact of that adjustment will be recorded on the system.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pakk.io/customers-and-sales/loyalty-program/accounting-considerations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
