tricount: Split & Settle Bills icon

Tricount shared-expense registry and settlement data API

bunq · Payments

tricount: Split & Settle Bills is bunq's shared-expense app for friends, housemates and travel groups who need to track who paid and settle what they owe. Users create a tricount for a trip, a flatshare or a night out, invite signed-in members or guests, and record expenses with equal or custom splits. Running balances and a settle-up screen help the group see who should pay whom, while receipt photos stay together in a group gallery. A Splitwise CSV importer brings existing shared-expense histories across, and a linked bunq card can add card transactions automatically. In France, Germany and Spain, it serves people coordinating everyday shared costs alongside alternatives such as Splitwise and Splid.

Trip and flatshare ledgers pair total_amount_spent with each participant's amount_balance and status_settlement. Group records include title, currency, number_of_entries and last_activity_timestamp; expense rows carry description, amount, amount_local, a MANUAL or AUTO type, and a NORMAL, BALANCE or INCOME transaction_type. Member-level share_ratio values describe how an expense is allocated, so a trip dashboard can compare each person's contribution without treating the whole group total as individual spending.

Settle-up records connect amount_total to payer membership_uuid, recipient membership_uuid_owner and a PENDING or SETTLED status. Receipt records add attachment_public_uuid, creator_membership_uuid and content_type; CSV import summaries provide number_of_entries and participant display_name values for migration checks. Automatic card-entry matching can use auto_add_card_transaction and time_auto_add_card_transaction_start alongside expense amounts. Household finance bots, travel dashboards, Splitwise migration tools and card-expense reconcilers can build on these fields, with openData Studio turning the data into callable open data.

Screenshots

  • tricount: Split & Settle Bills screenshot 1
  • tricount: Split & Settle Bills screenshot 2
  • tricount: Split & Settle Bills screenshot 3
  • tricount: Split & Settle Bills screenshot 4
  • tricount: Split & Settle Bills screenshot 5
  • tricount: Split & Settle Bills screenshot 6
  • tricount: Split & Settle Bills screenshot 7
  • tricount: Split & Settle Bills screenshot 8

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Request registry session

    POST /v1/access/start osint

    Starts a group-expense session using an email or phone alias and returns the uuid needed to confirm sign-in.

    Auth: Unauthenticated JSON body containing an email or phone alias; returns a uuid for session confirmation.

    • alias
    • type
    • value
    • name
    • id
    • uuid
    POST /v1/access/start HTTP/1.1
    Content-Type: application/json
    Accept: application/json
    
    {
      "alias": {
        "type": "EMAIL",
        "value": "<demo_email_alex>",
        "name": "Alex"
      }
    }
    {
      "id": 710,
      "uuid": "55555555-5555-4555-8555-555555555555"
    }
  • Confirm registry session

    POST /v1/access/verify osint

    Confirms the session using alias and uuid, returning the token used in a custom authentication header for later group requests.

    Auth: JSON body containing alias and the uuid from the access request; returns a session token for the custom X-Session-Token header.

    • alias
    • uuid
    • token
    • id
    • created
    • updated
    • display_name
    • public_uuid
    POST /v1/access/verify HTTP/1.1
    Content-Type: application/json
    Accept: application/json
    
    {
      "alias": {
        "type": "EMAIL",
        "value": "<demo_email_alex>",
        "name": "Alex"
      },
      "uuid": "55555555-5555-4555-8555-555555555555"
    }
    {
      "id": 711,
      "created": "2026-10-15T12:00:00Z",
      "updated": "2026-10-15T12:00:00Z",
      "token": "<demo_session_token>",
      "display_name": "Alex",
      "public_uuid": "11111111-1111-4111-8111-111111111111"
    }
  • List registries

    GET /v1/shared-groups opendata

    Lists the signed-in user's tricounts with title, currency, status, number_of_entries, total_amount_spent and the caller's amount_balance.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • id
    • created
    • updated
    • public_uuid
    • registry_uuid
    • title
    • description
    • currency
    • status
    • category_custom
    • last_activity_timestamp
    • number_of_entries
    • total_amount_spent
    • amount_balance
    • share_url
    • membership_uuid_owner
    • membership_uuid_active
    • all_registry_active
    • value
    GET /v1/shared-groups?limit=20 HTTP/1.1
    X-Session-Token: <demo_session_token>
    Accept: application/json
    [
      {
        "id": 640,
        "created": "2026-10-15T12:00:00Z",
        "updated": "2026-10-15T12:00:00Z",
        "public_uuid": "44444444-4444-4444-8444-444444444444",
        "registry_uuid": "33333333-3333-4333-8333-333333333333",
        "title": "Shared weekend",
        "description": "Lodging and dinner",
        "currency": "EUR",
        "status": "READ_WRITE",
        "category_custom": "TRIP",
        "last_activity_timestamp": "2026-10-15T12:00:00Z",
        "number_of_entries": 2,
        "total_amount_spent": {
          "currency": "EUR",
          "value": "100.00"
        },
        "amount_balance": {
          "currency": "EUR",
          "value": "30.00"
        },
        "share_url": "/join/demo-weekend",
        "membership_uuid_owner": "11111111-1111-4111-8111-111111111111",
        "membership_uuid_active": "11111111-1111-4111-8111-111111111111",
        "all_registry_active": true
      }
    ]
  • Create registry

    POST /v1/shared-groups opendata

    Creates a tricount with title, currency, membership aliases and optional auto_add_card_transaction, returning the new group id.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • title
    • description
    • currency
    • emoji
    • category_custom
    • auto_add_card_transaction
    • memberships
    • alias
    • all_registry_entry
    • id
    POST /v1/shared-groups HTTP/1.1
    X-Session-Token: <demo_session_token>
    Content-Type: application/json
    Accept: application/json
    
    {
      "title": "Shared weekend",
      "description": "Lodging and dinner",
      "currency": "EUR",
      "emoji": "",
      "category_custom": "TRIP",
      "auto_add_card_transaction": "INACTIVE",
      "memberships": [
        {
          "alias": {
            "type": "EMAIL",
            "value": "<demo_email_alex>",
            "name": "Alex"
          }
        },
        {
          "alias": {
            "type": "EMAIL",
            "value": "<demo_email_sam>",
            "name": "Sam"
          }
        }
      ],
      "all_registry_entry": []
    }
    {
      "id": 640
    }
  • Read registry

    GET /v1/shared-groups/{groupId} opendata

    Loads one tricount with all_membership balances, amount_balance and status_settlement, plus all_registry_entry expense rows.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • id
    • public_uuid
    • registry_uuid
    • title
    • description
    • currency
    • status
    • category_custom
    • last_activity_timestamp
    • number_of_entries
    • total_amount_spent
    • amount_balance
    • share_url
    • membership_uuid_owner
    • all_membership
    • membership_uuid
    • display_name
    • status_settlement
    • membership_paying
    • all_registry_entry
    • amount
    • amount_local
    • type
    • transaction_type
    • all_registry_gallery_attachment
    • value
    GET /v1/shared-groups/640 HTTP/1.1
    X-Session-Token: <demo_session_token>
    Accept: application/json
    {
      "id": 640,
      "public_uuid": "44444444-4444-4444-8444-444444444444",
      "registry_uuid": "33333333-3333-4333-8333-333333333333",
      "title": "Shared weekend",
      "description": "Lodging and dinner",
      "currency": "EUR",
      "status": "READ_WRITE",
      "category_custom": "TRIP",
      "last_activity_timestamp": "2026-10-15T12:00:00Z",
      "number_of_entries": 2,
      "total_amount_spent": {
        "currency": "EUR",
        "value": "100.00"
      },
      "amount_balance": {
        "currency": "EUR",
        "value": "30.00"
      },
      "share_url": "/join/demo-weekend",
      "membership_uuid_owner": "11111111-1111-4111-8111-111111111111",
      "all_membership": [
        {
          "id": 31,
          "membership_uuid": "11111111-1111-4111-8111-111111111111",
          "display_name": "Alex",
          "status": "ACTIVE",
          "status_settlement": "PENDING",
          "amount_balance": {
            "currency": "EUR",
            "value": "30.00"
          },
          "amount_spent": {
            "currency": "EUR",
            "value": "80.00"
          },
          "membership_paying": true,
          "auto_add_card_transaction": "ACTIVE",
          "time_auto_add_card_transaction_start": "2026-10-15T00:00:00Z",
          "time_auto_add_card_transaction_end": null,
          "alias": {
            "type": "EMAIL",
            "value": "<demo_email_alex>",
            "name": "Alex"
          }
        },
        {
          "id": 32,
          "membership_uuid": "22222222-2222-4222-8222-222222222222",
          "display_name": "Sam",
          "status": "ACTIVE",
          "status_settlement": "PENDING",
          "amount_balance": {
            "currency": "EUR",
            "value": "-30.00"
          },
          "amount_spent": {
            "currency": "EUR",
            "value": "20.00"
          },
          "membership_paying": false,
          "auto_add_card_transaction": "ACTIVE",
          "time_auto_add_card_transaction_start": "2026-10-15T00:00:00Z",
          "time_auto_add_card_transaction_end": null,
          "alias": {
            "type": "EMAIL",
            "value": "<demo_email_sam>",
            "name": "Sam"
          }
        }
      ],
      "all_registry_entry": [
        {
          "id": 980,
          "created": "2026-10-15T12:00:00Z",
          "updated": "2026-10-15T12:00:00Z",
          "description": "Shared lodging",
          "amount": {
            "currency": "EUR",
            "value": "80.00"
          },
          "amount_local": {
            "currency": "EUR",
            "value": "80.00"
          },
          "type": "MANUAL",
          "status": "ACTIVE",
          "transaction_type": "NORMAL",
          "category_custom": "LODGING",
          "membership_uuid": "11111111-1111-4111-8111-111111111111",
          "membership_paying": true,
          "all_amount_allocated": [
            {
              "membership_uuid": "11111111-1111-4111-8111-111111111111",
              "amount": {
                "currency": "EUR",
                "value": "40.00"
              },
              "share_ratio": 1,
              "type": "AMOUNT"
            },
            {
              "membership_uuid": "22222222-2222-4222-8222-222222222222",
              "amount": {
                "currency": "EUR",
                "value": "40.00"
              },
              "share_ratio": 1,
              "type": "AMOUNT"
            }
          ]
        },
        {
          "id": 981,
          "created": "2026-10-15T12:00:00Z",
          "updated": "2026-10-15T12:00:00Z",
          "description": "Shared dinner",
          "amount": {
            "currency": "EUR",
            "value": "20.00"
          },
          "amount_local": {
            "currency": "EUR",
            "value": "20.00"
          },
          "type": "AUTO",
          "status": "ACTIVE",
          "transaction_type": "NORMAL",
          "category_custom": "FOOD",
          "membership_uuid": "22222222-2222-4222-8222-222222222222",
          "membership_paying": false,
          "all_amount_allocated": [
            {
              "membership_uuid": "11111111-1111-4111-8111-111111111111",
              "amount": {
                "currency": "EUR",
                "value": "10.00"
              },
              "share_ratio": 1,
              "type": "AMOUNT"
            },
            {
              "membership_uuid": "22222222-2222-4222-8222-222222222222",
              "amount": {
                "currency": "EUR",
                "value": "10.00"
              },
              "share_ratio": 1,
              "type": "AMOUNT"
            }
          ]
        }
      ],
      "all_registry_gallery_attachment": []
    }
  • Update registry

    PUT /v1/shared-groups/{groupId} opendata

    Updates a tricount's title, description, category_custom, status and membership list through deleted_membership_ids.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • title
    • description
    • emoji
    • category_custom
    • status
    • all_registry_entry
    • deleted_membership_ids
    • id
    PUT /v1/shared-groups/640 HTTP/1.1
    X-Session-Token: <demo_session_token>
    Content-Type: application/json
    Accept: application/json
    
    {
      "title": "Shared weekend",
      "description": "Lodging, dinner and transport",
      "emoji": "",
      "category_custom": "TRIP",
      "status": "READ_WRITE",
      "all_registry_entry": [],
      "deleted_membership_ids": []
    }
    {
      "id": 640
    }
  • List registry entries

    GET /v1/shared-groups/{groupId}/expenses opendata

    Lists expenses with description, amount and amount_local, MANUAL or AUTO type, transaction_type and per-member share_ratio allocations.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • id
    • created
    • updated
    • description
    • amount
    • amount_local
    • type
    • status
    • transaction_type
    • category_custom
    • membership_uuid
    • membership_paying
    • share_ratio
    • currency
    • value
    GET /v1/shared-groups/640/expenses HTTP/1.1
    X-Session-Token: <demo_session_token>
    Accept: application/json
    [
      {
        "id": 980,
        "created": "2026-10-15T12:00:00Z",
        "updated": "2026-10-15T12:00:00Z",
        "description": "Shared lodging",
        "amount": {
          "currency": "EUR",
          "value": "80.00"
        },
        "amount_local": {
          "currency": "EUR",
          "value": "80.00"
        },
        "type": "MANUAL",
        "status": "ACTIVE",
        "transaction_type": "NORMAL",
        "category_custom": "LODGING",
        "membership_uuid": "11111111-1111-4111-8111-111111111111",
        "membership_paying": true,
        "all_amount_allocated": [
          {
            "membership_uuid": "11111111-1111-4111-8111-111111111111",
            "amount": {
              "currency": "EUR",
              "value": "40.00"
            },
            "share_ratio": 1,
            "type": "AMOUNT"
          },
          {
            "membership_uuid": "22222222-2222-4222-8222-222222222222",
            "amount": {
              "currency": "EUR",
              "value": "40.00"
            },
            "share_ratio": 1,
            "type": "AMOUNT"
          }
        ]
      },
      {
        "id": 981,
        "created": "2026-10-15T12:00:00Z",
        "updated": "2026-10-15T12:00:00Z",
        "description": "Shared dinner",
        "amount": {
          "currency": "EUR",
          "value": "20.00"
        },
        "amount_local": {
          "currency": "EUR",
          "value": "20.00"
        },
        "type": "AUTO",
        "status": "ACTIVE",
        "transaction_type": "NORMAL",
        "category_custom": "FOOD",
        "membership_uuid": "22222222-2222-4222-8222-222222222222",
        "membership_paying": false,
        "all_amount_allocated": [
          {
            "membership_uuid": "11111111-1111-4111-8111-111111111111",
            "amount": {
              "currency": "EUR",
              "value": "10.00"
            },
            "share_ratio": 1,
            "type": "AMOUNT"
          },
          {
            "membership_uuid": "22222222-2222-4222-8222-222222222222",
            "amount": {
              "currency": "EUR",
              "value": "10.00"
            },
            "share_ratio": 1,
            "type": "AMOUNT"
          }
        ]
      }
    ]
  • Create registry entry

    POST /v1/shared-groups/{groupId}/expenses opendata

    Adds an expense or a BALANCE or INCOME row with payer membership_uuid, amount and per-member allocations.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • description
    • amount
    • amount_local
    • type
    • status
    • transaction_type
    • category_custom
    • membership_uuid
    • membership_paying
    • currency
    • value
    • id
    POST /v1/shared-groups/640/expenses HTTP/1.1
    X-Session-Token: <demo_session_token>
    Content-Type: application/json
    Accept: application/json
    
    {
      "description": "Shared lodging",
      "amount": {
        "currency": "EUR",
        "value": "80.00"
      },
      "amount_local": {
        "currency": "EUR",
        "value": "80.00"
      },
      "type": "MANUAL",
      "status": "ACTIVE",
      "transaction_type": "NORMAL",
      "category_custom": "LODGING",
      "membership_uuid": "11111111-1111-4111-8111-111111111111",
      "membership_paying": true,
      "all_amount_allocated": [
        {
          "membership_uuid": "11111111-1111-4111-8111-111111111111",
          "amount": {
            "currency": "EUR",
            "value": "40.00"
          },
          "share_ratio": 1,
          "type": "AMOUNT"
        },
        {
          "membership_uuid": "22222222-2222-4222-8222-222222222222",
          "amount": {
            "currency": "EUR",
            "value": "40.00"
          },
          "share_ratio": 1,
          "type": "AMOUNT"
        }
      ]
    }
    {
      "id": 980
    }
  • Delete registry entry

    DELETE /v1/shared-groups/{groupId}/expenses/{expenseId} opendata

    Removes an expense so its amount no longer contributes to member amount_balance.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • registryId
    • registryEntryId
    DELETE /v1/shared-groups/640/expenses/981 HTTP/1.1
    X-Session-Token: <demo_session_token>
    Accept: application/json
    {
      "registryId": 640,
      "registryEntryId": 981
    }
  • List registry memberships

    GET /v1/shared-groups/{groupId}/participants opendata

    Lists members with display_name, amount_balance, amount_spent, status_settlement and their automatic card-transaction import window.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • id
    • membership_uuid
    • display_name
    • status
    • status_settlement
    • amount_balance
    • amount_spent
    • membership_paying
    • auto_add_card_transaction
    • time_auto_add_card_transaction_start
    • time_auto_add_card_transaction_end
    • alias
    • currency
    • value
    GET /v1/shared-groups/640/participants HTTP/1.1
    X-Session-Token: <demo_session_token>
    Accept: application/json
    [
      {
        "id": 31,
        "membership_uuid": "11111111-1111-4111-8111-111111111111",
        "display_name": "Alex",
        "status": "ACTIVE",
        "status_settlement": "PENDING",
        "amount_balance": {
          "currency": "EUR",
          "value": "30.00"
        },
        "amount_spent": {
          "currency": "EUR",
          "value": "80.00"
        },
        "membership_paying": true,
        "auto_add_card_transaction": "ACTIVE",
        "time_auto_add_card_transaction_start": "2026-10-15T00:00:00Z",
        "time_auto_add_card_transaction_end": null,
        "alias": {
          "type": "EMAIL",
          "value": "<demo_email_alex>",
          "name": "Alex"
        }
      },
      {
        "id": 32,
        "membership_uuid": "22222222-2222-4222-8222-222222222222",
        "display_name": "Sam",
        "status": "ACTIVE",
        "status_settlement": "PENDING",
        "amount_balance": {
          "currency": "EUR",
          "value": "-30.00"
        },
        "amount_spent": {
          "currency": "EUR",
          "value": "20.00"
        },
        "membership_paying": false,
        "auto_add_card_transaction": "ACTIVE",
        "time_auto_add_card_transaction_start": "2026-10-15T00:00:00Z",
        "time_auto_add_card_transaction_end": null,
        "alias": {
          "type": "EMAIL",
          "value": "<demo_email_sam>",
          "name": "Sam"
        }
      }
    ]
  • Update registry membership

    PUT /v1/shared-groups/{groupId}/participants/{participantId} opendata

    Updates a member's ACTIVE, INACTIVE or DELETED status and the setting for automatic bunq-card expense import, including its start and end times.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • alias
    • status
    • setting
    • auto_add_card_transaction
    • time_auto_add_card_transaction_start
    • time_auto_add_card_transaction_end
    • id
    PUT /v1/shared-groups/640/participants/31 HTTP/1.1
    X-Session-Token: <demo_session_token>
    Content-Type: application/json
    Accept: application/json
    
    {
      "alias": {
        "type": "EMAIL",
        "value": "<demo_email_alex>",
        "name": "Alex"
      },
      "status": "ACTIVE",
      "setting": {
        "auto_add_card_transaction": "ACTIVE",
        "time_auto_add_card_transaction_start": "2026-10-15T00:00:00Z",
        "time_auto_add_card_transaction_end": null
      }
    }
    {
      "id": 31
    }
  • Create registry settlement

    POST /v1/shared-groups/{groupId}/settlement-plans openfinance

    Computes a settle-up plan with amount_total and per-pair amount, payer membership_uuid, recipient membership_uuid_owner and status.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • registry_id
    • id
    • created
    • membership_uuid
    • amount_total
    • amount
    • membership_uuid_owner
    • status
    • currency
    • value
    POST /v1/shared-groups/640/settlement-plans HTTP/1.1
    X-Session-Token: <demo_session_token>
    Content-Type: application/json
    Accept: application/json
    
    {
      "registry_id": "640"
    }
    {
      "id": 75,
      "created": "2026-10-15T12:00:00Z",
      "membership_uuid": "11111111-1111-4111-8111-111111111111",
      "amount_total": {
        "currency": "EUR",
        "value": "30.00"
      },
      "all_registry_settlement_item": [
        {
          "amount": {
            "currency": "EUR",
            "value": "30.00"
          },
          "membership_uuid": "22222222-2222-4222-8222-222222222222",
          "membership_uuid_owner": "11111111-1111-4111-8111-111111111111",
          "status": "PENDING"
        }
      ]
    }
  • List public registries

    GET /v1/shared-previews osint

    Looks up shared tricount previews using public_uuid or share_url so invitees can see title, currency and the owner display_name before joining.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • id
    • public_uuid
    • title
    • currency
    • status
    • share_url
    • number_of_entries
    • membership_uuid_owner
    • display_name
    GET /v1/shared-previews?public_uuid=44444444-4444-4444-8444-444444444444 HTTP/1.1
    X-Session-Token: <demo_session_token>
    Accept: application/json
    [
      {
        "id": 640,
        "public_uuid": "44444444-4444-4444-8444-444444444444",
        "title": "Shared weekend",
        "currency": "EUR",
        "status": "READ_WRITE",
        "share_url": "/join/demo-weekend",
        "number_of_entries": 2,
        "membership_uuid_owner": "11111111-1111-4111-8111-111111111111",
        "display_name": "Alex"
      }
    ]
  • Import Splitwise CSV

    POST /v1/expense-imports opendata

    Imports a Splitwise CSV into a group summary with title, currency, number_of_entries and all_membership display_name rows.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • id
    • created
    • title
    • currency
    • number_of_entries
    • all_membership
    • display_name
    POST /v1/expense-imports HTTP/1.1
    X-Session-Token: <demo_session_token>
    Content-Type: text/csv
    Content-Disposition: attachment; filename="demo-expenses.csv"
    Accept: application/json
    
    Date,Description,Category,Cost,Currency,Alex,Sam
    2026-10-15,Shared lodging,Lodging,80.00,EUR,40.00,40.00
    2026-10-15,Shared dinner,Food,20.00,EUR,10.00,10.00
    {
      "id": 76,
      "created": "2026-10-15T12:00:00Z",
      "title": "Imported shared weekend",
      "currency": "EUR",
      "number_of_entries": 2,
      "all_membership": [
        {
          "display_name": "Alex"
        },
        {
          "display_name": "Sam"
        }
      ]
    }
  • Upload gallery attachment

    POST /v1/shared-groups/{groupId}/receipt-images opendata

    Attaches a receipt image to a tricount gallery, returning uuid, attachment_public_uuid, creator_membership_uuid, content_type and url.

    Auth: Session token in a custom X-Session-Token header, obtained after alias and uuid confirmation; access is scoped to the signed-in user.

    • uuid
    • id
    • attachment_public_uuid
    • creator_membership_uuid
    • content_type
    • url
    • created
    • updated
    POST /v1/shared-groups/640/receipt-images HTTP/1.1
    X-Session-Token: <demo_session_token>
    Content-Type: image/jpeg
    Content-Disposition: attachment; filename="demo-receipt.jpg"
    Accept: application/json
    
    <demo_jpeg_bytes>
    {
      "uuid": "66666666-6666-4666-8666-666666666666",
      "id": 77,
      "attachment_public_uuid": "77777777-7777-4777-8777-777777777777",
      "creator_membership_uuid": "11111111-1111-4111-8111-111111111111",
      "content_type": "image/jpeg",
      "url": "/media/demo-receipt.jpg",
      "created": "2026-10-15T12:00:00Z",
      "updated": "2026-10-15T12:00:00Z"
    }

Data categories

  • shared-expense groups
  • balances
  • settlements
  • memberships
  • receipts
  • Splitwise imports

Where teams use this data

  • Flatshare settle-up ledger

    A housemate finance bot lists registries, reads each member's amount_balance and status_settlement, then posts registry-settlement so the month's amount_total matches who paid rent, utilities and groceries.

  • Trip expense dashboard

    A travel-ops sheet pulls all_registry_entry rows (description, amount, amount_local, category_custom, type MANUAL|AUTO) and membership amount_spent so a group trip can show who is over budget before anyone settles.

  • Splitwise migration check

    An importer posts a Splitwise CSV to registry-import-splitwise-csv and diffs number_of_entries plus all_membership display_name against the source export so nothing is dropped in the move.

  • Card auto-add matching

    A bunq-card reconciler watches memberships with auto_add_card_transaction ACTIVE and matches AUTO registry entries (amount_local, membership_uuid) to card authorisations inside the time_auto_add_card_transaction_start window.

Frequently asked questions

What shared-expense fields are available for Tricount?

Group records include title, currency, number_of_entries, total_amount_spent and the caller's amount_balance. Participants add display_name, amount_spent, status_settlement and membership_paying. Expense rows include description, amount, amount_local, MANUAL or AUTO type, and share_ratio allocations. Participant settings also include auto_add_card_transaction, time_auto_add_card_transaction_start and time_auto_add_card_transaction_end, so a reconciler can compare AUTO entries with the active card-import window.

What does settle-up data contain?

A settlement plan contains amount_total and payer-to-recipient items. Each item includes amount, membership_uuid for the payer, membership_uuid_owner for the recipient, and a PENDING or SETTLED status.

How is access to group data authenticated?

The sign-in flow starts with an email or phone alias and returns a uuid. Confirmation uses alias and uuid to obtain a session token, which is sent in a custom authentication header for later requests. The endpoint paths and examples on this page are illustrative, not instructions for accessing private app services.

Can Splitwise groups be imported?

The CSV import flow produces a group summary containing title, currency, number_of_entries and all_membership display_name rows. Those fields help migration tools compare the imported expense count and participant names with the source export.

Apps similar to tricount: Split & Settle Bills

  • Splitwise — Splitwise is a web and mobile app from Splitwise Inc. that lets households, travel groups and friends track shared costs, split equally or by shares or percentages, and simplify who owes whom.
  • Settle Up — Settle Up is an iPhone and Android app from Destil and Bioport that lets friends and flatmates track shared bills, split costs evenly or unevenly, and cut the number of transfers needed to settle a group.
  • Splid — Splid is a free iOS and Android shared-expense app that syncs group entries, calculates balances, converts currencies and supports offline groups for travel.
  • Kittysplit — Kittysplit is a free iPhone, Android and browser tool for dividing group costs without registration: participants share a Kitty link, enter expenses and see who owes whom.
  • Venmo — Venmo is PayPal’s U.S. payments app for sending and receiving money, and Venmo Groups (added in 2023) tracks shared trip and household expenses so members can pay or request their share in the app.
  • Tab — Tab is an iOS and Android app for splitting a restaurant bill: friends photograph a receipt, claim their items, and the app calculates tax and tip.

Topics

  • Tricount API
  • shared expense data
  • bill splitting API
  • amount_balance
  • status_settlement
  • Tricount settlements
  • Splitwise CSV import
  • bunq Tricount

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote