Non-reservation charge postings
Apaleo uses external folios to record all POS transactions that aren’t added to a guest reservation. For example, suppose someone orders drinks and food at the bar and settles immediately by cash or card, rather than adding it to their reservation, or someone who isn’t staying at your hotel orders a drink at the bar. In that case, these charges and payments are added to the external folio.
External folios
Create the external folio
Name the external folio so it’s easy to identify later — for example, “SDXE-SKYBAR-20260526” for a specific outlet and date.
External folios work the same as folios for reservations. Create one by calling:
POST /finance/v1/folios
and specifying external as the type, adding your custom code so it’s easy to find later. After that, you can post charges and payments.
You must not post room charges here. They’re only posted to the guest folios.
Once you’ve created the external folio, you can perform different actions. The most useful:
POST /finance/v1/folio-actions/{folioId}/charges
POST /finance/v1/folios/{folioId}/payments
The folio balance should always be zero.
Post charges
- Aggregate charges by service type, VAT type, and product group (sub-account).
- For each combination, post a single charge to the external folio with the aggregated amount, VAT, and service type, using the following endpoint:
POST /finance/v1/folio-actions/{folioId}/charges
{
"serviceType":"FoodAndBeverages",
"vatType":"Normal",
"subAccountId":"SDXE-3100",
"name":"Food - SDXE-3100",
"amount":{
"amount":"800",
"currency":"EUR"
},
"businessDate":"2026-05-26"
}
You can post charges to the current business date. Until 6 AM local time, you can also post to the previous business date.
For example, if a shift ends at 2 AM, you can explicitly set the previous day as the business date for those charges and payments.
Posting to future dates is not allowed, and posting to the previous business date is not possible after 6 AM.
Post payments
- Aggregate payments by business day and payment method.
- For each payment method, post a single payment to the external folio with the aggregated amount and the mapped payment method, using the following endpoint:
POST /finance/v1/folios/{folioId}/payments
{
"method":"Cash",
"amount":{
"amount":1500,
"currency":"EUR"
},
"receipt":"SDXE-SKYBAR-20260526",
"businessDate":"2026-05-26"
}
A folio is limited to 5,000 lines (charges, payments, etc.). For high-volume outlets, close the folio before reaching the limit and open a new folio to continue posting.
Corrections
Same-day corrections
For transactions that need correction on the same business day (before day close), first correct the specific charge using:
POST /finance/v1/folio-actions/{folioId}/charges/{chargeId}/allowances
Once the charge is corrected you can do a refund using:
POST /finance/v1/folios/{folioId}/refunds
Posting negative charges
Required scope:
folios.manage-negative-paymentsmust be enabled in your app to use these endpoints.
Payments from a previous business day sometimes need to be corrected. For example, a guest returns an item a week after purchasing it because it was too small. Since the external folio for that business day is already closed, the refund can no longer be posted to it.
To apply a correction in this situation, you can post a global refund directly to the external folio, even when there’s no corresponding positive charge or payment on the folio to offset a previous business day transaction:
POST /finance/v1/folios/{folioId}/refunds
This lets you correct a payment without first reversing a specific charge.
This endpoint is for POS use only — it’s not available in the Apaleo UI.
Balance the folio
A folio can’t be closed with an open balance. To bring it to zero, post a negative charge using the same endpoint and structure as a standard charge, with a negative amount:
POST /finance/v1/folio-actions/{folioId}/charges
Posting negative charges is allowed only via API.
End of shift/day report
The external folio needs to account for all the aggregated (combined, not individual) charges and payments at the end of each day or shift.
The hotel defines the shift timings in the POS. If the shift ends at 2 AM, you can explicitly specify the previous day as the correct business date for which the charges and payments should be counted. Post the amount aggregated per payment method on the payment endpoint.
You can post to the previous business day only until 6 AM local time. For example, you can post charges and payments for 2026-05-26 until 6 AM on 2026-05-27.
Close a folio
Once all the aggregated charges and payments for the shift have been posted, the external folio can be closed. After closing, no more charges can be added or changed, and it becomes a document.
PUT /finance/v1/folio-actions/{folioId}/close
A folio cannot be closed with an open balance.