Daily Expenses 3 是 Michel Carvajal(Encodemx)开发的 Android 个人财务应用,为日常现金、银行账户和银行卡支出提供手动账本,而非银行客户端。用户可同时管理多个账户,为支出和收入分类,按类别设置月度预算,安排周期账单与订阅,并按日、周、半月、月或年查看报表。备注和收据照片帮助记录消费,多币种账户、转账和导出功能服务于家庭记账;自动云备份与恢复工具则方便用户将账本迁移到新手机。这款以西班牙语为主的应用出自墨西哥独立开发者,在 Google Play 的评分为 4.6 星,面向墨西哥、西班牙、阿根廷、智利、巴西和美国的家庭用户,适合更看重离线优先记账、而非开放银行仪表盘的人群。Money Lover、Wallet 和 Mobills 是同类个人理财选择;本页记录的 Android 版本为 3.682.G。
收支账本快照通过 id_account 和 id_category 将带日期的收入、支出关联到账户与分类。明细记录包含 amount、sign、detail、date_record 和 time_record,并以 confirmed、transfer 标记帮助使用方在汇总前理解记录。账户记录提供 initial_balance、final_balance、positive_max 和 negative_max,已列示例还包含账户币种代码。
预算记录将 budget 金额与 period、initial_date、final_date 配对。周期收支保留 repeat_number、each_number、next_date、amount 和 enabled,让计划付款与已经发生的收支分开呈现。JSON 快照以 table 和 records 组织记录;id_backup、date_creation、is_file 等标识和元数据用于区分已保存的副本及其格式。汇率换算提供 base_code 和 conversion_rates,支持跨账户的统一币种视图。
预算指导团队可按分类将支出关联到相应预算周期,财务规划工具可依据计划金额和日期预测周期性付款义务。记账与支出分析工具则可使用已保存的账本快照,将账户转账与消费分开处理,并保留备份时间戳作为上下文。openData Studio 将这些账本、预算、付款计划和备份字段转化为可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
登录并生成同步令牌
POST
/illustrative/v1/expense-book/sign-inopenfinance使用电子邮箱和密码登录 Daily Expenses 3 账户,返回账本与迁移调用所附带的令牌,同时提供账户记录及用户、订阅标识。
认证方式: 调用时无需令牌:请求体携带电子邮箱与密码,响应返回同步令牌以及用户的账户和订阅标识。
- event
- password
- service
- device
- token
- user_accounts
- pk_user
- pk_subscription
- found
POST /illustrative/v1/expense-book/sign-in HTTP/1.1 Content-Type: application/json X-Token: <app_token> User-id: 0 email: [email protected] os: android { "event": "user-login", "data": { "email": "[email protected]", "password": "<PASSWORD>", "service": 1, "device": {} } }{ "status": true, "message": "OK", "found": 1, "data": { "token": "<TOKEN>", "pk_user": 18422, "pk_subscription": 0, "user_accounts": { "email": "[email protected]", "name": "Household book", "language": "es" }, "user_subscriptions": [] } }迁移完整的五表账本
POST
/illustrative/v1/expense-book/ledger-migrationopenfinance一次调用上传完整的本地账本,包括重置标记、用户与订阅标识、各表记录数,以及账户、周期收支、分类、预算和收支明细这五组记录数组。
认证方式: 使用应用的 X-Token 请求头,并附带 User-id、email 请求头及 os=android;User-id 为登录调用返回的 pk_user。
- event
- reset
- user
- fk_user
- fk_subscription
- counters
- count_accounts
- count_automatics
- count_categories
- count_budgets
- count_movements
- table_accounts
- table_automatics
- table_categories
- table_budgets
- table_movements
POST /illustrative/v1/expense-book/ledger-migration HTTP/1.1 Content-Type: application/json X-Token: <app_token> User-id: 18422 email: [email protected] os: android { "event": "migration", "data": { "reset": 1, "user": { "email": "[email protected]", "version": "V3", "fk_user": 18422, "fk_subscription": 0 }, "counters": { "count_accounts": 3, "count_automatics": 12, "count_categories": 41, "count_budgets": 6, "count_movements": 2380 }, "table_accounts": [ { "_id": 1, "account": "Cash", "initial_balance": 1500.0, "balance": 842.35, "iso_code": "MXN" } ], "table_movements": [ { "_id": 9012, "account": "Cash", "category": "Groceries", "amount": 348.5, "sign": "-", "detail": "Supermarket", "date": "2026-10-24", "time": "19:42", "month": 10, "year": 2026, "transfer": 0 } ] } }{ "status": true, "message": "Migration completed", "found": 1 }登记备份存储项
POST
/illustrative/v1/expense-book/record-backup-registrationopenfinance为已登录的账本创建新的备份记录,返回供记录上传与恢复调用定位备份的 id_backup。
认证方式: 无需会话令牌:JSON 请求体携带已保存的 id_user,应用通过 automatic / message 标记报告当前安装是否已获许可。
- id_user
- created_in
- automatic
- message
- id_backup
POST /illustrative/v1/expense-book/record-backup-registration HTTP/1.1 Content-Type: application/json { "id_user": "48211", "created_in": "V3", "automatic": "1", "message": "Automatic backup" }{ "success": true, "message": "Backup created", "id_backup": "b7f3c2a1-9d44-4e18-8a06-2f5c1d9e7b30" }列出用户的备份历史
POST
/illustrative/v1/expense-book/record-backup-historyopenfinance分页获取恢复界面显示的云备份列表,每条记录包含 id_backup、写入备份的应用代际及创建时间戳。
认证方式: 无需会话令牌:调用方发送已保存的 backup_email,仅接收该邮箱对应的备份。
- id_backup
- created_in
- date_creation
POST /illustrative/v1/expense-book/record-backup-history HTTP/1.1 Content-Type: application/json { "email": "[email protected]" }{ "success": true, "content": [ { "id_backup": "b7f3c2a1-9d44-4e18-8a06-2f5c1d9e7b30", "created_in": "V3", "date_creation": "2026-10-24 21:14:03" }, { "id_backup": "c81a5e02-31b7-49d0-9f22-7a6be4d1c055", "created_in": "V3", "date_creation": "2026-10-17 21:09:44" } ] }上传 JSON 记录集
POST
/illustrative/v1/expense-book/record-backup-uploadopenfinance将序列化后的账本写入指定备份存储项;每个条目包含一个 backup_* 表名及其记录数组,由应用的表序列化器生成。
认证方式: 无需会话令牌:JSON 请求体携带 id_backup,将写入范围限定为此前登记的一个备份存储项。
- id_backup
- content
- table
- records
- id_account
- id_category
- amount
- sign
- detail
- date_record
- time_record
- confirmed
- transfer
POST /illustrative/v1/expense-book/record-backup-upload HTTP/1.1 Content-Type: application/json { "id_backup": "b7f3c2a1-9d44-4e18-8a06-2f5c1d9e7b30", "content": [ { "table": "backup_accounts", "records": [ { "id_account": "1", "name": "Cash", "income": "8200.000000", "expense": "7357.650000", "initial_balance": "1500.000000", "final_balance": "842.350000", "iso_code": "MXN" } ] }, { "table": "backup_movements", "records": [ { "id_account": "1", "id_category": "7", "amount": "348.500000", "sign": "-", "detail": "Supermarket", "date_record": "2026-10-24", "time_record": "19:42:00", "confirmed": "1", "transfer": "0", "month": "10", "year": "2026" } ] } ] }{ "success": true, "message": "Records saved" }下载用于恢复的备份
POST
/illustrative/v1/expense-book/record-backup-restoreopenfinance返回某个备份保存的整套表数据,使恢复界面能够在本地重建账户、预算、周期收支、分类及收支明细。
认证方式: 无需会话令牌:JSON 请求体中的 id_backup 指定要返回的已保存账本。
- id_backup
- content
- table
- records
- id_account
- id_category
- name
- initial_balance
- final_balance
- positive_max
- negative_max
- period
- budget
- initial_date
- final_date
- repeat_number
- each_number
- enabled
- amount
- next_date
POST /illustrative/v1/expense-book/record-backup-restore HTTP/1.1 Content-Type: application/json { "id_backup": "b7f3c2a1-9d44-4e18-8a06-2f5c1d9e7b30" }{ "success": true, "message": "OK", "content": [ { "table": "backup_accounts", "records": [ { "id_account": "1", "name": "Cash", "initial_balance": "1500.000000", "final_balance": "842.350000", "positive_max": "0.000000", "negative_max": "0.000000", "iso_code": "MXN", "selected": "1" } ] }, { "table": "backup_budgets", "records": [ { "id_account": "1", "id_category": "7", "period": "month", "budget": "3500.000000", "initial_date": "2026-10-01", "final_date": "2026-10-31" } ] }, { "table": "backup_automatics", "records": [ { "id_account": "1", "id_category": "12", "period": "month", "repeat_number": "0", "each_number": "1", "enabled": 1, "amount": "499.000000", "next_date": "2026-11-01" } ] } ] }批量删除备份记录
POST
/illustrative/v1/expense-book/record-backup-pruningopenfinance存储界面清理旧副本时,从用户的历史记录中删除一个或多个选定备份。
认证方式: 无需会话令牌:JSON 请求体列出要从调用方历史记录中删除的 id_backup 值。
- content
- id_backup
- success
- message
POST /illustrative/v1/expense-book/record-backup-pruning HTTP/1.1 Content-Type: application/json { "content": [ "c81a5e02-31b7-49d0-9f22-7a6be4d1c055", "d5e0f8c7-62a4-4b91-b3d8-08c7a2e9f144" ] }{ "success": true, "message": "Backups deleted" }按邮箱查找备份账户
GET
/illustrative/v1/expense-book/file-owner-lookupopenfinance在文件备份界面列出或上传 SQLite 副本之前,根据邮箱查找对应的备份账户标识。
认证方式: 无需会话令牌:以账户电子邮箱为查询键,响应返回匹配的 id_user。
- status
- found
- id_user
GET /illustrative/v1/expense-book/file-owner-lookup?email=user%40example.com HTTP/1.1{ "status": true, "found": true, "data": { "id_user": "48211", "email": "[email protected]" } }创建文件备份账户
POST
/illustrative/v1/expense-book/file-owner-registrationopenfinance将电子邮箱登记为文件备份所有者,并返回上传、列表查询和删除调用用作路径参数的 id_user;国家与城市字段来自应用的 IP 地理定位步骤。
认证方式: 无需会话令牌:JSON 请求体携带电子邮箱、设备信息、地区设置与许可标记;响应中的 id_user 会被保存,供后续文件上传使用。
- password
- license
- ios
- version
- version_ios
- country_code
- city
- device_name
- device_model
- device_os_version
- id_user
POST /illustrative/v1/expense-book/file-owner-registration HTTP/1.1 Content-Type: application/json { "email": "[email protected]", "password": "", "license": "0", "ios": "0", "version": "3.682.G", "version_ios": "", "country_code": "MX", "city": "Ciudad de Mexico", "device_name": "", "device_model": "", "device_os_version": "" }{ "status": true, "data": { "id_user": "48211" } }以文件形式上传 SQLite 账本
POST
/illustrative/v1/expense-book/sqlite-uploadopenfinance以多部分表单文件上传原始 SQLite 数据库,使恢复操作能够原样还原本地存储,包括 JSON 导出器跳过的记录。
认证方式: 无需会话令牌:id_user 与 email 标识所有者,数据库文件通过名为 file 的多部分表单字段传送。
- id_user
- created_in
- automatic
- file
- status
POST /illustrative/v1/expense-book/sqlite-upload?id_user=48211&email=user%40example.com HTTP/1.1 Content-Type: multipart/form-data; boundary=----FormBoundary ------FormBoundary Content-Disposition: form-data; name="id_user" 48211 ------FormBoundary Content-Disposition: form-data; name="created_in" V3 ------FormBoundary Content-Disposition: form-data; name="automatic" 0 ------FormBoundary Content-Disposition: form-data; name="file"; filename="database.sqlite" Content-Type: text/plain <SQLite bytes> ------FormBoundary--{ "status": true, "message": "File uploaded" }列出 SQLite 文件备份
GET
/illustrative/v1/expense-book/sqlite-historyopenfinance列出已保存的 SQLite 副本及其时间戳与 is_file 标记,供恢复界面区分文件备份和记录备份。
认证方式: 无需会话令牌:查询字符串中的 id_user 与 email 将返回的备份列表限定为一个所有者的备份。
- id_user
- id_backup
- date_time
- backup
- date_creation
- is_file
GET /illustrative/v1/expense-book/sqlite-history?id_user=48211&email=user%40example.com HTTP/1.1{ "status": true, "found": true, "data": [ { "id_backup": "b7f3c2a1-9d44-4e18-8a06-2f5c1d9e7b30", "date_time": "2026-10-24 21:14", "backup": { "date_creation": "2026-10-24 21:14:03", "is_file": 1 } } ] }生成公开备份链接
GET
/illustrative/v1/expense-book/sqlite-share-linkopenfinance为已保存的备份文件生成公开 URL,供用户导出文件或将文件交给另一处应用安装使用时分享。
认证方式: 无需会话令牌:通过电子邮箱和文件名标识对象,响应返回可分享的 URL。
- name
- data
GET /illustrative/v1/expense-book/sqlite-share-link?email=user%40example.com&name=database.sqlite HTTP/1.1{ "status": true, "data": "<RESOURCE_URL>" }删除 SQLite 备份
DELETE
/illustrative/v1/expense-book/sqlite-removalopenfinance从文件备份服务中清除某个所有者已保存的 SQLite 副本。
认证方式: 无需会话令牌:查询字符串中的 id_user 与 email 标识要删除其已存文件的所有者。
- id_user
- status
- message
DELETE /illustrative/v1/expense-book/sqlite-removal?id_user=48211&email=user%40example.com HTTP/1.1{ "status": true, "message": "Backups deleted" }将金额换算为基准币种
GET
/illustrative/v1/expense-book/currency-conversion/{api_key}/{base_code}opendata提供换算汇率,使同一账本能够持有不同 iso_code 币种的账户,同时以一种显示币种汇总金额。
认证方式: 路径中包含静态 API 密钥,无需用户身份验证。
- result
- error-type
- base_code
- conversion_rates
GET /illustrative/v1/expense-book/currency-conversion/<API_KEY>/MXN HTTP/1.1{ "result": "success", "base_code": "MXN", "conversion_rates": { "MXN": 1, "USD": 0.0542, "EUR": 0.0498, "ARS": 62.41, "CLP": 51.77 } }确定用户的国家与城市
GET
/illustrative/v1/expense-book/install-locationopendata对当前安装进行地理定位,以便预填 user_country_code 和 user_city,随后将这些信息随备份账户注册请求发送。
认证方式: 使用静态 apikey 查询参数,无需用户身份验证。
- ip
- location.country_code2
- location.city
- location.latitude
- location.longitude
- timezone.name
GET /illustrative/v1/expense-book/install-location?apikey=<API_KEY> HTTP/1.1{ "data": { "ip": "189.203.44.17", "location": { "country_code2": "MX", "city": "Ciudad de Mexico", "latitude": 19.4326, "longitude": -99.1332 }, "timezone": { "name": "America/Mexico_City" } } }
数据类别
- 账户
- 收支明细
- 收支分类
- 预算
- 周期收支
- 备份
- 币种
- 地理位置与地区设置
数据使用场景与案例
无需手机参与的家庭账本同步
记账机器人根据电子邮箱查询用户的 id_user,列出其备份,再获取最新 id_backup 对应的整套表数据,让账户余额与支出记录无需手机参与即可用于图表展示。
预算与实际支出的对照指导
预算指导仪表盘将 backup_budgets 中的 budget、initial_date、final_date 和 period 与按 id_category 和 sign 汇总的 backup_movements 记录关联,在月末前标出支出已超预算上限的类别。
周期账单预测
财务规划工具读取 backup_automatics,依据 period、repeat_number、each_number、next_date、amount 和 enabled 标记推算下一次扣款日期与金额,生成未来 90 天的现金流预测。
多币种支出统一换算
分析人员使用应用的汇率来源,换算所有 iso_code 不同于基准币种的收支明细,将家庭在不同国家所持账户的支出统一为一种币种进行报告。
常见问题
本页记录了 Daily Expenses 3 的哪些账本内容?
迁移模型将账户、周期收支、分类、预算和收支明细分为五组表数组,并为每组附带记录计数。备份示例涵盖账户余额、带日期的收支金额与分类标识、预算金额及起止日期,以及周期收支金额和下次计划日期。
集成工具如何区分收入、支出与账户转账?
收支明细包含 amount 和 sign,并提供 id_account、id_category 用于分组。transfer 标记识别账户之间的划转,因此支出报表可将转账单独处理,而不把它计为普通消费。账户示例还列出 income、expense 和 final_balance 汇总值。
账本迁移、JSON 备份和 SQLite 备份有什么区别?
登录返回 token 和 pk_user 账户标识;迁移流程提交五组账本表数组及其记录计数。JSON 备份使用 id_backup 标识一组已保存的 table 与 records 对象。SQLite 备份则以文件形式保存数据库,其历史记录包含 date_time、date_creation 和 is_file 元数据。
提供哪些币种与位置字段?
账户示例包含 iso_code,汇率模型提供 base_code 和 conversion_rates,供统一币种计算使用。位置字段包括国家、城市、坐标和时区;country_code 与 city 用于登记文件备份账户,并非描述每笔消费发生的地点。
与 Daily Expenses 3 相似的应用
- Money Lover - Money Manager — Money Lover 是 Finsify 的个人理财应用,用于登记收入与支出、设定预算并查看图表,支持周期付款提醒、储蓄目标和多币种,可在 Android 与 iOS 上使用。
- Wallet: Budget Expense Tracker — BudgetBakers 的 Wallet 是面向个人和家庭的理财应用,可在 iOS、Android 和网页上记账、做预算,并从已连接的银行账户导入交易;Premium 支持情侣或家庭分组共享。
- Mobills: Budget Planner — Mobills 是巴西个人理财应用与网站,可把支出集中到一处、设定月度预算,并在 Android、iOS 和网页上自动连接银行账户与银行卡。
- Spendee — Spendee 是布拉格 SPENDEE a.s. 的个人理财应用,可跟踪现金、银行、电子钱包和加密货币余额,自动导入已连接账户的交易,并支持共享钱包与分类预算。
- YNAB — YNAB(You Need A Budget)是面向 iOS、Android 和网页的个人理财应用,让用户在花钱前先指定这笔钱的用途,并提供目标跟踪以及可与家人共享的订阅。
- Monefy — Monefy 是 Reflective Technologies ApS 面向 iOS 和 Android 的个人记账应用,用于登记消费,支持 150 多种货币,并可通过 Google Drive 或 Dropbox 与伴侣共享预算。
- Goodbudget — Goodbudget 是 Dayspring Technologies 面向网页、Android 和 iPhone 的家庭预算应用,采用数字信封预算法,并可在家庭成员之间同步和共享信封。
- Money Manager Expense & Budget — Realbyte Inc. 的 Money Manager Expense & Budget 是面向 Android 和 iOS 的个人理财应用,以复式记账登记支出,按分类设定月度限额,并可附上收据照片。
相关主题
- Daily Expenses 3 数据 API
- Daily Expenses 3 账本字段
- 支出追踪 API
- 预算与周期付款数据
- JSON 与 SQLite 备份数据
- Encodemx
- gastos diarios
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业