tricount: Split & Settle Bills 图标

Tricount 共同开销账单组与结算数据 API

bunq · 支付

tricount: Split & Settle Bills 是 bunq 旗下的共同开销记账应用,面向朋友聚会、室友合租和结伴出游的小团体,帮大家记清谁先垫了钱、各自还欠多少。用户可以为一次旅行、一间合租房或一顿聚餐新建一个 tricount,邀请已登录成员或访客加入,再按平分或自定义比例记录每笔支出。应用会持续累计每个人的余额,并提供结算页面,直观显示该由谁付给谁;收据照片统一保存在群组图库里。已有的 Splitwise 账单可以通过 CSV 导入迁移过来,绑定 bunq 银行卡后还能把刷卡消费自动记入账单。在法国、德国和西班牙,它主要服务于日常共同开销的协调,同类选择包括 Splitwise 和 Splid。

旅行与合租账本把 total_amount_spent 同每位参与者的 amount_balance、status_settlement 并排呈现。群组记录含 title、currency、number_of_entries 和 last_activity_timestamp;支出行带有 description、amount、amount_local、MANUAL 或 AUTO 的 type,以及 NORMAL、BALANCE 或 INCOME 的 transaction_type。成员层面的 share_ratio 说明一笔支出如何分摊,因此旅行看板可以比较每个人的出资,而不必把群组总额当作个人消费。

结算记录把 amount_total 与付款方 membership_uuid、收款方 membership_uuid_owner 以及 PENDING 或 SETTLED 状态关联起来。收据记录补充 attachment_public_uuid、creator_membership_uuid 和 content_type;CSV 导入摘要提供 number_of_entries 与参与者 display_name,用于迁移核对。自动银行卡入账匹配可以结合支出金额使用 auto_add_card_transaction 与 time_auto_add_card_transaction_start。家庭财务机器人、旅行看板、Splitwise 迁移工具和银行卡支出对账工具都可以基于这些字段构建,openData Studio 则把这些数据整理成可直接调用的开放数据。

应用截图

  • tricount: Split & Settle Bills 应用截图 1
  • tricount: Split & Settle Bills 应用截图 2
  • tricount: Split & Settle Bills 应用截图 3
  • tricount: Split & Settle Bills 应用截图 4
  • tricount: Split & Settle Bills 应用截图 5
  • tricount: Split & Settle Bills 应用截图 6
  • tricount: Split & Settle Bills 应用截图 7
  • tricount: Split & Settle Bills 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 发起账单组会话请求

    POST /v1/access/start osint

    用邮箱或手机号别名发起共同开销会话,并返回确认登录所需的 uuid。

    认证方式: 无需令牌。JSON 请求体携带邮箱或手机号别名 alias;返回用于会话确认的 uuid。

    • 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"
    }
  • 确认账单组会话

    POST /v1/access/verify osint

    用 alias 与 uuid 确认会话,返回的令牌将放在自定义鉴权头中,用于之后的群组请求。

    认证方式: JSON 请求体包含 alias 以及发起请求时返回的 uuid;返回会话令牌,用于自定义的 X-Session-Token 头。

    • 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"
    }
  • 账单组列表

    GET /v1/shared-groups opendata

    列出已登录用户的 tricount,含 title、currency、status、number_of_entries、total_amount_spent 以及调用者自己的 amount_balance。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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
      }
    ]
  • 创建账单组

    POST /v1/shared-groups opendata

    创建 tricount,需提供 title、currency、成员别名,可选 auto_add_card_transaction,返回新群组的 id。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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
    }
  • 读取账单组

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

    读取单个 tricount:含 all_membership 成员余额、amount_balance 与 status_settlement,以及 all_registry_entry 支出行。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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": []
    }
  • 更新账单组

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

    更新 tricount 的 title、description、category_custom、status,并通过 deleted_membership_ids 调整成员名单。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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
    }
  • 账单条目列表

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

    列出支出:description、amount 与 amount_local、MANUAL 或 AUTO 的 type、transaction_type,以及按成员划分的 share_ratio 分摊。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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"
          }
        ]
      }
    ]
  • 创建账单条目

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

    新增一笔支出,或 BALANCE、INCOME 行,含付款人 membership_uuid、amount 以及按成员划分的分摊。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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 /v1/shared-groups/{groupId}/expenses/{expenseId} opendata

    删除一笔支出,使其金额不再计入成员的 amount_balance。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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
    }
  • 账单组成员列表

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

    列出成员:display_name、amount_balance、amount_spent、status_settlement,以及各自的银行卡交易自动导入窗口。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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"
        }
      }
    ]
  • 更新账单组成员

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

    更新成员的 ACTIVE、INACTIVE 或 DELETED 状态,以及 bunq 银行卡支出自动导入的设置,包括起止时间。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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
    }
  • 创建账单组结算

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

    生成结算方案:amount_total 与逐对的 amount、付款方 membership_uuid、收款方 membership_uuid_owner 及 status。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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"
        }
      ]
    }
  • 公开账单组列表

    GET /v1/shared-previews osint

    按 public_uuid 或 share_url 查找共享 tricount 的预览,让受邀者在加入前看到 title、currency 以及所有者的 display_name。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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"
      }
    ]
  • 导入 Splitwise CSV

    POST /v1/expense-imports opendata

    把 Splitwise CSV 导入为群组摘要,含 title、currency、number_of_entries 以及 all_membership 的 display_name 行。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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"
        }
      ]
    }
  • 上传图库附件

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

    把收据图片附加到 tricount 图库,返回 uuid、attachment_public_uuid、creator_membership_uuid、content_type 和 url。

    认证方式: 会话令牌放在自定义的 X-Session-Token 头中,在 alias 与 uuid 确认后获得;访问范围限定为已登录用户。

    • 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"
    }

数据类别

  • 共同开销群组
  • 余额
  • 结算
  • 成员
  • 收据
  • Splitwise 导入

数据使用场景与案例

  • 合租结算账本

    合租家庭的财务机器人列出各账单组,读取每位成员的 amount_balance 与 status_settlement,再调用 registry-settlement,使当月的 amount_total 与房租、水电和日用品的实际垫付情况一致。

  • 旅行支出看板

    出行运营表格拉取 all_registry_entry 的各行(description、amount、amount_local、category_custom、type MANUAL|AUTO)以及成员的 amount_spent,让旅行小组在结算之前就能看出谁超出了预算。

  • Splitwise 迁移核对

    导入工具把 Splitwise CSV 提交到 registry-import-splitwise-csv,并将 number_of_entries 与 all_membership 的 display_name 同原始导出文件逐项比对,确保迁移过程中没有遗漏。

  • 银行卡自动入账匹配

    bunq 银行卡对账工具监控 auto_add_card_transaction 为 ACTIVE 的成员,在 time_auto_add_card_transaction_start 起始的窗口内,把 AUTO 类型的账单条目(amount_local、membership_uuid)与银行卡授权记录逐一匹配。

常见问题

Tricount 提供哪些共同开销字段?

群组记录包含 title、currency、number_of_entries、total_amount_spent 以及调用者自己的 amount_balance。参与者记录增加 display_name、amount_spent、status_settlement 和 membership_paying。支出行包含 description、amount、amount_local、MANUAL 或 AUTO 的 type,以及 share_ratio 分摊。 参与者设置另有 auto_add_card_transaction、time_auto_add_card_transaction_start 和 time_auto_add_card_transaction_end,可用于核对 AUTO 支出与生效中的银行卡导入窗口。

结算数据包含什么?

一份结算方案包含 amount_total 以及从付款方到收款方的明细项。每个明细项含 amount、代表付款方的 membership_uuid、代表收款方的 membership_uuid_owner,以及 PENDING 或 SETTLED 状态。

群组数据如何鉴权?

登录流程先用邮箱或手机号别名发起请求并返回 uuid;确认时用别名和 uuid 换取会话令牌,之后的请求把该令牌放在自定义的鉴权头中发送。本页的端点路径与示例仅为示意,并非访问应用私有服务的操作说明。

可以导入 Splitwise 群组吗?

CSV 导入流程会生成一份群组摘要,包含 title、currency、number_of_entries 以及 all_membership 的 display_name 行。迁移工具可借助这些字段,把导入后的支出笔数和参与者姓名与原始导出文件做比对。

与 tricount: Split & Settle Bills 相似的应用

  • Splitwise — Splitwise 是 Splitwise Inc. 的网页与手机应用,面向合租、出游和朋友聚会,用来记录共同开销、按均分或按份额/百分比分摊,并算出谁该付给谁。
  • Settle Up — Settle Up 是 Destil 与 Bioport 开发的 iPhone 和 Android 应用,供朋友和室友记录共同账单、按均分或不均分摊,并减少结清一笔团体账所需的转账次数。
  • Splid — Splid 是免费的 iOS 与 Android 共同开销应用,可同步群组记账、计算余额、换汇,并支持离线群组,常用于出行分账。
  • Kittysplit — Kittysplit 是免注册的 iPhone、Android 和浏览器工具,用来分摊团体开销:大家共享一个 Kitty 链接、录入支出,再查看谁欠谁钱。
  • Venmo — Venmo 是 PayPal 旗下面向美国用户的收付款应用;2023 年上线的 Venmo Groups 可跟踪出行和家庭共同开销,成员可在应用内付款或收款分摊份额。
  • Tab — Tab 是 iOS 与 Android 上的餐厅分账应用:朋友拍下收据、各自认领菜品,应用再算出税费和小费。

相关主题

  • Tricount API
  • 共同开销数据
  • 分账 API
  • amount_balance
  • status_settlement
  • Tricount 结算
  • Splitwise CSV 导入
  • bunq Tricount

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价