Pezzente documentation

Pezzente tracks shared expenses for a group and calculates the smallest set of payments that settles every balance. This guide covers the basics and the HTTP API.

Getting started

Create an account, then create your first group and invite members by email. Members who have no account can still be added by name and claimed later.

The first group on every account is free. Groups are limited to 50 members.

Groups

A group is a shared ledger with its own default currency. Each member sees the same balances. Only the group owner can rename the group, change its currency or delete it.

Adding expenses

An expense has a payer, an amount and the members it is split between. By default the cost is divided equally; you can also split by exact amounts or by percentage.

Split typeDescription
equalDivided evenly between the selected members.
exactEach member's share is entered as an amount.
percentEach member's share is entered as a percentage. Must total 100.

Settling up

Open Balances to see who owes whom. Pezzente nets all debts within the group so that the number of transfers is as small as possible. Mark a payment as settled once it has been made outside the app.

API overview

The API is served over HTTPS and returns JSON. Authenticate with a bearer token created under Account → Tokens.

curl https://api.pezzente.online/v1/groups \
  -H "Authorization: Bearer YOUR_TOKEN"

Create an expense:

POST /v1/groups/{group_id}/expenses
{
  "payer": "member_01",
  "amount": 86.40,
  "currency": "EUR",
  "split": "equal",
  "note": "Groceries"
}

Errors

StatusMeaning
400The request body is malformed or a field is missing.
401The token is missing, expired or revoked.
404The group or expense does not exist, or you cannot access it.
429Too many requests. Retry after the time in the Retry-After header.

Rate limits

Each token may make 120 requests per minute. Batch several expenses into one request where possible.