Financial Data

This endpoint provides the journal entries of the financial data transfer for the voucher and ticketing system: one entry per online order, order cancellation or refund, and – depending on the settings – per redemption of a Maison or organisation voucher. Each entry balances: the sum of its line_items equals the sum of its payments.

Use it to post the sales of your e-guma shop into your accounting system. The endpoint is enabled per account by e-guma; get in touch with [email protected].

Entries

When an entry is created

TriggerAmounts
A voucher order is paid online, or its invoice is marked as paidpositive
A voucher order is cancelled or refunded, or its paid invoice is marked as unpaidnegative
A ticket order is completedpositive
Tickets are cancellednegative
A Maison voucher is redeemed (only when the account books Maison vouchers on redemption)positive
The redemption of a Maison voucher is cancellednegative
A voucher of another organisation is redeemed like an own voucherpositive
The redemption of an organisation voucher is cancellednegative

Orders paid on-site (cash, terminal) do not create entries. Voucher orders paid by invoice create the entry when the invoice is marked as paid in e-guma, not when the order is placed.

Line items

Line items are grouped by product_type and vat_rate, so one entry holds one line item per VAT bucket per product type – regardless of how many vouchers, products or ticket types the order contained.

product_typeNote
VoucherSales of vouchers. Vouchers carry no VAT (vat_rate is null).
ProductAdditional products sold with vouchers. vat_rate is the rate charged to the customer.
ShippingCostsPostage for vouchers sent by post.
TicketTickets, split by VAT rate. 0 means the event is VAT-free.
CauseWeCareDonation added to the order.
InsuranceTicket insurance added to the order.

vat_rate is null when e-guma has no VAT information for the item (entries written before VAT tracking, vouchers).

Payments

One payment per payment method used. A voucher order paid with a promo code and a credit card yields two payments (DISCOUNT and e.g. VISA); a ticket order paid with a voucher and TWINT yields EGUMA_VOUCHER and TWINT.

Polling

The response contains every entry of the requested window, oldest first. There is no paging; a window spans at most 31 days.

An entry's created_at is set a moment before the entry is stored, so a window that ends at "now" could miss an entry that is still being written. created_at_before must therefore lie at least 5 minutes in the past; the endpoint rejects anything later. Schedule a daily import at 00:05 or later, not at midnight.

Chain the windows without gaps: the next created_at_after is the previous created_at_before. The window is half-open (created_at_after inclusive, created_at_before exclusive), so adjacent windows neither overlap nor leave a gap. Persist the last created_at_before instead of recomputing "yesterday", so a skipped run does not leave a hole.

Entries never change once written; a correction is always a new entry with negative amounts. id is unique and stable, so a client that repeats a run or overlaps windows can skip entries it has already booked.

Request

GET https://api.e-guma.ch/v1/financial_data/journal_entries?apikey={api-key}&created_at_after={created_at_after}&created_at_before={created_at_before}

Query parameters

ParameterNote
apikey requiredAn API key can be requested from [email protected].
created_at_after requiredDate and time in ISO 8601 format, inclusive. Without a time zone offset the value is read in the account's time zone; Z or an explicit offset are honoured.
created_at_before requiredDate and time in ISO 8601 format, exclusive. At least 5 minutes in the past and at most 31 days after created_at_after.

Response

FieldNote
currencyISO 4217 code of the account's currency. All amounts are in this currency.
entriesAll entries of the window, oldest first. See Entry object.

Entry object

FieldNote
idUnique and stable entry ID.
created_atDate and time (ISO 8601, account's time zone) when the entry was written.
noteFree text for the booking line. Currently the order number for orders and the voucher code for redemptions; it may carry more context in the future, so do not parse it.
line_itemsSee Line item object.
paymentsSee Payment object.

Line item object

FieldNote
product_typeSee Line items.
vat_rateVAT rate in percent (e.g. 8.1), 0 for VAT-free, null when unknown.
totalGross amount including VAT. Negative for cancellations and refunds.

Payment object

FieldNote
payment_methodSee Payment methods.
amountAmount paid with this method. Negative for cancellations and refunds.

Payment methods

Not every account has all payment methods enabled. MASTERCARD to IDEAL are the online payment methods of the shop.

For voucher orders, a credit card brand is reported individually only when it posts to its own account in e-guma. A brand that posts to the general credit card account is reported as UNKNOWN. Contact us if card payments show up as UNKNOWN.

CodeNote
MASTERCARD
VISA
AMEX
DINERS
DISCOVER
MYONE
POSTCARD
PAYPAL
TWINT
REKA
IDEAL
INVOICEPurchase on account. For voucher orders the entry is created once the invoice has been paid, for ticket orders when the order is completed.
COMPLIMENTARYMaison voucher. Depending on the settings the entry is created when the voucher is issued or when it is redeemed.
DISCOUNTA discount or promo code. Post it, for example, to a marketing expense account.
CREDIT_FOR_PRICE_INCREASEFor vouchers issued at a lower price, the balance is automatically increased by the difference upon redemption.
ORGANISATIONOrganisation vouchers redeemed like own vouchers.
OFFERZVoucher orders sold through the Offerz marketplace.
EGUMA_VOUCHERPayment with e-guma vouchers.
UNKNOWNNo payment method could be determined.

Errors

Errors are returned as JSON with an error_code and a message.

Statuserror_codeWhen
400validation_errorA parameter is missing or invalid, or the window violates the rules under Polling. The message names the parameter and the rule.
401unauthorizedThe API key is invalid or the account is not in service anymore.
403forbiddenThe financial data transfer is not enabled for this account.

Example

GET https://api.e-guma.ch/v1/financial_data/journal_entries?created_at_after=2026-09-01T00:00:00&created_at_before=2026-09-02T00:00:00&apikey=5f33e993bfede1247c5ff8d8
{
  "currency": "CHF",
  "entries": [
    {
      "id": "68b5a1f0e4b0c8a1d2f3a4b5",
      "created_at": "2026-09-01T11:22:36",
      "note": "G10057",
      "line_items": [
        { "product_type": "Voucher", "vat_rate": null, "total": 100.00 },
        { "product_type": "Product", "vat_rate": 8.1, "total": 24.90 },
        { "product_type": "ShippingCosts", "vat_rate": null, "total": 5.00 }
      ],
      "payments": [
        { "payment_method": "VISA", "amount": 119.90 },
        { "payment_method": "DISCOUNT", "amount": 10.00 }
      ]
    },
    {
      "id": "68b5a3c2e4b0c8a1d2f3a4b9",
      "created_at": "2026-09-01T14:05:10",
      "note": "1234-5678-9012",
      "line_items": [
        { "product_type": "Voucher", "vat_rate": null, "total": 50.00 }
      ],
      "payments": [
        { "payment_method": "COMPLIMENTARY", "amount": 50.00 }
      ]
    },
    {
      "id": "68b5b0d4e4b0c8a1d2f3a4c1",
      "created_at": "2026-09-01T16:40:02",
      "note": "1000088",
      "line_items": [
        { "product_type": "Ticket", "vat_rate": 8.1, "total": -80.00 }
      ],
      "payments": [
        { "payment_method": "TWINT", "amount": -80.00 }
      ]
    }
  ]
}