基于 beancount 提供个人记账财务管理的 RESTful API 服务(包含前端页面)
Go to file
liangzai450 f470c30343 Squashed commit of the following:
commit 7dc209490b
Author: liangzai450 <liangzai450@sina.com>
Date:   Tue Mar 12 00:47:07 2024 +0800

    fixbug: 换行符导致的数组越界

commit 5875a7872b
Author: liangzai450 <liangzai450@sina.com>
Date:   Mon Mar 11 23:51:18 2024 +0800

    暂存

commit 037e17569f
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 10 23:42:22 2024 +0800

    fixbug: 换行符导致的数组越界

commit 9012ef633b
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 10 23:30:05 2024 +0800

    v1.1.15

commit 254e3e81bc
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 10 23:29:20 2024 +0800

    update view, event sort rule

commit 70ddfe9d5d
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 10 22:44:29 2024 +0800

    update viewpage

commit cc66151531
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 10 22:30:56 2024 +0800

    add: event api

commit dfc2f1b36a
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 10 22:05:40 2024 +0800

    fixbug: 账户多次关闭或打开处理逻辑异常

commit 942c859572
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Mar 9 10:43:07 2024 +0800

    fix: #71 account startDate endDate

commit 5159755109
Author: RenLangMan <34146131+RenLangMan@users.noreply.github.com>
Date:   Fri Mar 8 13:00:30 2024 +0800

    Update stats.go

     商户消费排行某个月份返回无效值 解决方案  [#14 ](https://github.com/BaoXuebin/beancount-gs/issues/14)

commit a339e1afe8
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Mar 4 22:51:25 2024 +0800

    fix: #66 multi currency transactions

commit 344a6782ae
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 23:10:16 2023 +0800

    add empty file

commit 986e19b00f
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 23:02:23 2023 +0800

    update readme

commit 618355a07d
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 22:54:58 2023 +0800

    v1.1.14

commit 01966ce2ec
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 22:54:09 2023 +0800

    update webview

commit 017bf20c56
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 22:52:24 2023 +0800

    update: auto refresh currency cache

commit f0aa8ab0c0
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 18:52:23 2023 +0800

    update viewpage

commit 0743e59458
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 18:50:57 2023 +0800

    update viewpage

commit fd72ba8a2b
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 18:47:49 2023 +0800

    refactor price var

commit e905eebf60
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Dec 10 17:56:21 2023 +0800

    temp commit

commit 19dae50c07
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Thu Dec 7 23:59:28 2023 +0800

    multi currency transaction

commit 89f287fe90
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Thu Dec 7 13:57:43 2023 +0800

    feat: currency account add excahnge rate value and currency flag

commit 512a6799c5
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Thu Dec 7 01:24:24 2023 +0800

    opti: multi currency appi

commit 4ffe60112c
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Wed Dec 6 00:29:38 2023 +0800

    add event api

commit 727d504f2f
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Dec 5 17:57:48 2023 +0800

    define event api

commit a40875e78b
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Dec 5 16:21:12 2023 +0800

    opti: multi commodity

commit 29ca04a476
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Jul 3 00:01:40 2023 +0800

    v1.1.13

commit 2e77a053c1
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Jul 3 00:01:26 2023 +0800

    update webview

commit 4841fe346a
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Jul 2 23:32:52 2023 +0800

    update webview

commit ef9d5dd7c8
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Jul 2 23:31:30 2023 +0800

    update: stats account balance api add year and month query condition

commit d88cd008a5
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Jul 1 23:23:59 2023 +0800

    update: change alipay ledger template #54

commit 650f1e955f
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Apr 10 02:14:01 2023 +0800

    upgrade python version

commit 0c5b866064
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Apr 10 02:00:03 2023 +0800

    fixbug

commit a36aed000b
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Apr 10 01:27:41 2023 +0800

    fixbug

commit b427d649b6
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Apr 10 00:18:08 2023 +0800

    update docker.yml

commit 3da869bdd5
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Apr 10 00:04:24 2023 +0800

    add logs folder

commit 1f92f1ac76
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 23:56:18 2023 +0800

    update: github action

commit cc6331cc81
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 23:46:16 2023 +0800

    update: dockerfile

commit f4ce2fcef4
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 23:13:16 2023 +0800

    update: github action

commit 4092924095
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 22:56:22 2023 +0800

    version 1.1.12

commit 8c027f1d0c
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 22:55:12 2023 +0800

    update webview

commit f497cfb000
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 22:54:43 2023 +0800

    update webview

commit 878b17f049
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 22:53:42 2023 +0800

    doc: README.md

commit 20afafd138
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Apr 9 22:53:26 2023 +0800

    update: docker compose add env and default port change 10000

commit 222dc6af3a
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Thu Feb 16 13:43:39 2023 +0800

    fix: cannot include bean file #46

commit 7375c2b7d4
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Wed Dec 28 00:03:40 2022 +0800

    v1.1.11

commit a035dcfe1e
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Wed Dec 28 00:03:13 2022 +0800

    update webview

commit 1da322e093
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Dec 27 23:55:53 2022 +0800

    add: icbc and abc batch import

commit 46ea0c1460
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Dec 27 22:12:05 2022 +0800

    del: source file content required validator

commit 3ad974e4eb
Author: baoxuebin <baoxuebin@ienglish.cn>
Date:   Tue Dec 27 18:41:34 2022 +0800

    update: config dir from .beancount-ns change to .beancount-gs

commit 7f83b3a380
Author: baoxuebin <baoxuebin@ienglish.cn>
Date:   Tue Dec 27 17:22:06 2022 +0800

    docs: update readme guide link url

commit f2d1e7329b
Author: baoxuebin <baoxuebin@ienglish.cn>
Date:   Sat Oct 22 23:34:28 2022 +0800

    fix: account balance failed when file is not exist.

commit 09f58fef64
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Oct 15 19:35:21 2022 +0800

    version 1.1.10

commit 0d172a3988
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Oct 15 19:24:49 2022 +0800

    check ledger api default return empty list

commit ab6188da2b
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Oct 15 19:02:06 2022 +0800

    fixbug

commit 0522600cde
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Oct 11 23:30:13 2022 +0800

    version: 1.1.9

commit 264c9f584a
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Oct 11 23:29:16 2022 +0800

    update new webview

commit cb72b18513
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Sep 3 23:21:25 2022 +0800

    update: 月份查询改为时间倒序

commit 735e322942
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Aug 15 00:38:50 2022 +0800

    add beancount syntax check api

commit 2839749306
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Jul 26 22:59:51 2022 +0800

    update readme

commit 6d85a8ab99
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Jul 26 22:30:48 2022 +0800

    update webview

commit 8c8b635f2e
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Jul 26 22:28:40 2022 +0800

    优化docker镜像大小#23

commit 19862e8e71
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Tue Jul 26 22:09:27 2022 +0800

    fix: 支付宝账单过滤关闭的交易

commit 2c9b83c907
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Jul 25 03:35:20 2022 +0800

    version 1.1.8

commit 506e606591
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Jul 23 12:20:28 2022 +0800

    fix: cannot close account #22

commit 517cb25e73
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Jul 23 12:19:35 2022 +0800

    fix: failed to bak file cause by linux file system case sensitivity #20

commit 81738c09d9
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Jul 3 23:26:48 2022 +0800

    lint code

commit 4f0284c5a0
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Jul 3 22:59:01 2022 +0800

    inte:golangci-lint

commit 14cf8b3dec
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Jun 5 11:15:29 2022 +0800

    version 1.1.7

commit f3a88c4b36
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Jun 5 11:14:29 2022 +0800

    update webview

commit 8520e7d75f
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Jun 5 11:07:03 2022 +0800

    add: query month calendar api

commit 108dba4ea9
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Jun 4 13:31:40 2022 +0800

    fix: unix 换行符 change to '\n'

commit 7cb64969b6
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat May 28 22:04:59 2022 +0800

    version 1.1.6

commit 7b2a06e5e2
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat May 28 22:04:05 2022 +0800

    update webview

commit ad591921f7
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Thu Apr 14 00:23:08 2022 +0800

    add: query commodity prices api

commit 4fd6a57215
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Wed Apr 13 00:30:38 2022 +0800

    add: bean-report all_prices

commit 659c1d7e15
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Apr 11 21:25:34 2022 +0800

    fixbug: 账户平衡计算导致新增交易异常

commit 15a79c5790
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Mar 21 00:44:45 2022 +0800

    update readme

commit 8250e96c87
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Mar 21 00:12:50 2022 +0800

    update 1.1.5 static file

commit cae95602c5
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Mon Mar 21 00:01:15 2022 +0800

    update 1.1.5 static file

commit 5f28dec14d
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 20 23:57:14 2022 +0800

    version 1.1.5

commit 8fcdbb43e6
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sun Mar 20 23:55:05 2022 +0800

    add multi stage transaction

commit a2a29702d3
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Mar 19 16:18:27 2022 +0800

    delete ledger add error handle

commit 9f05766287
Author: BaoXuebin <baoxbin@hotmail.com>
Date:   Sat Mar 19 15:44:15 2022 +0800

    fix: alipay mobile csv file cannot import (#8)

# Conflicts:
#	dockerfile
2024-03-17 23:57:21 +08:00
.github/workflows Squashed commit of the following: 2024-03-17 23:57:21 +08:00
config add: white_list.json 2021-12-06 22:36:01 +08:00
logs Squashed commit of the following: 2024-03-17 23:57:21 +08:00
public Squashed commit of the following: 2024-03-17 23:57:21 +08:00
script Squashed commit of the following: 2024-03-17 23:57:21 +08:00
service Squashed commit of the following: 2024-03-17 23:57:21 +08:00
template Squashed commit of the following: 2024-03-17 23:57:21 +08:00
tests Squashed commit of the following: 2024-03-17 23:57:21 +08:00
.gitignore Merge branch 'main' of github.com:BaoXuebin/beancount-gs into main 2021-12-22 23:25:25 +08:00
License update readme and license 2021-11-29 22:56:22 +08:00
README.md Squashed commit of the following: 2024-03-17 23:57:21 +08:00
beancount-2.3.4-cp38-cp38-linux_x86_64.whl 修改为py3.8 添加whl文件 2022-02-16 22:44:09 +08:00
beancount-2.3.4-cp310-cp310-linux_x86_64.whl dockerfile使用python3.10.2版本 2022-02-16 22:44:09 +08:00
docker-compose.yml Squashed commit of the following: 2024-03-17 23:57:21 +08:00
dockerfile Squashed commit of the following: 2024-03-17 23:57:21 +08:00
fava-1.18-py3-none-any.whl add fava-1.18-py3-none-any.whl 2022-02-16 22:44:09 +08:00
go.mod Squashed commit of the following: 2024-03-17 23:57:21 +08:00
go.sum add stats payee query impl 2021-11-26 17:12:07 +08:00
jb_beam.png Squashed commit of the following: 2024-03-17 23:57:21 +08:00
server.go Squashed commit of the following: 2024-03-17 23:57:21 +08:00
snapshot.png Add files via upload 2021-11-30 14:27:06 +08:00
var.env Squashed commit of the following: 2024-03-17 23:57:21 +08:00

README.md

beancount-gs

license docker image size

演示地址 使用文档

介绍

beancount 是一个优秀的开源复式记账工具,因为其基于文本记录的特性,难以拓展到移动端;本项目旨在将常见的记账行为封装为 RESTful API。

本仓库使用 Golang 进行文本的读写和接口服务支持,利用 bean-query 获取内容并解析,以 Json 格式返回。并基于已实现的接口内置实现了前端页面(适配移动端)。

snapshot

特性

  • 私有部署
  • 多账本
  • 账户,资产管理
  • 统计图表
  • 多币种
  • 标签
  • 投资管理(FIFO)
  • 第三方账单导入(支付宝,微信,工商银行,农业银行)
  • 分期记账
  • 事件

如何使用

本地打包

  1. 克隆本项目到本地
  2. 根目录执行 go build
  3. 执行 ./beancount-gs (-p 指定端口号,-secret 指定配置密钥)

release

  1. 下载并解压项目的 release
  2. 执行根目录下的 ./beancount-gs.exe

docker

docker run --name beancount-gs -dp 10000:80 \
-w /app \
-v "/data/beancount:/data/beancount" \
-v "/data/beancount/icons:/app/public/icons" \
-v "/data/beancount/config:/app/config" \
-v "/data/beancount/bak:/app/bak" \
xdbin/beancount-gs:latest

docker-compose

在指定目录创建文件 docker-compose.yml,然后复制下面内容到这个文件,执行 docker-compose up -d

version: "3.9"
services:
  app:
    container_name: beancount-gs
    image: xdbin/beancount-gs:${tag:-latest}
    ports:
      - "10000:80"
    # volumes 挂载目录会导 /app/public/icons 中的图标被覆盖,这里将默认图标在挂载后重新拷贝图标
    command: >
      sh -c "cp -rn /app/public/default_icons/* /app/public/icons && ./beancount-gs -p 80"      
    volumes:
      - "${dataPath:-/data/beancount}:/data/beancount"
      - "${dataPath:-/data/beancount}/icons:/app/public/icons"
      - "${dataPath:-/data/beancount}/config:/app/config"
      - "${dataPath:-/data/beancount}/bak:/app/bak"
      - "${dataPath:-/data/beancount}/logs:/app/logs"

默认的文件存储路径为 /data/beancount,如果你想更换其他路径,可以在当前目录下新建 var.env,然后将下面内容复制到这个文件

tag=latest
dataPath=自定义的目录

执行 docker-compose --env-file ./var.env up -d 即可

项目负责人

@BaoXuebin

开源协议

MIT @BaoXuebin

赞助

赞助地址

感谢

JetBrains

Licenses for Open Source Development