diff --git a/doc/ar-SA/README.md b/doc/ar-SA/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/ar-SA/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/ar-SA/build-guide.md b/doc/ar-SA/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/ar-SA/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/ar-SA/dev-guide.md b/doc/ar-SA/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/ar-SA/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/ar-SA/release-guide.md b/doc/ar-SA/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/ar-SA/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/ar-SA/translation-guide.md b/doc/ar-SA/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/ar-SA/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/ar-SA/user-guide.md b/doc/ar-SA/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/ar-SA/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/bn-BD/README.md b/doc/bn-BD/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/bn-BD/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/bn-BD/build-guide.md b/doc/bn-BD/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/bn-BD/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/bn-BD/dev-guide.md b/doc/bn-BD/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/bn-BD/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/bn-BD/release-guide.md b/doc/bn-BD/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/bn-BD/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/bn-BD/translation-guide.md b/doc/bn-BD/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/bn-BD/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/bn-BD/user-guide.md b/doc/bn-BD/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/bn-BD/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/de-DE/README.md b/doc/de-DE/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/de-DE/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/de-DE/build-guide.md b/doc/de-DE/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/de-DE/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/de-DE/dev-guide.md b/doc/de-DE/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/de-DE/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/de-DE/release-guide.md b/doc/de-DE/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/de-DE/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/de-DE/translation-guide.md b/doc/de-DE/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/de-DE/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/de-DE/user-guide.md b/doc/de-DE/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/de-DE/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/el-GR/README.md b/doc/el-GR/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/el-GR/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/el-GR/build-guide.md b/doc/el-GR/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/el-GR/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/el-GR/dev-guide.md b/doc/el-GR/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/el-GR/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/el-GR/release-guide.md b/doc/el-GR/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/el-GR/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/el-GR/translation-guide.md b/doc/el-GR/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/el-GR/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/el-GR/user-guide.md b/doc/el-GR/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/el-GR/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/en-US/README.md b/doc/en-US/README.md new file mode 100644 index 0000000..c855a3e --- /dev/null +++ b/doc/en-US/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## Feature Overview + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/en-US/build-guide.md b/doc/en-US/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/en-US/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/en-US/dev-guide.md b/doc/en-US/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/en-US/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/en-US/release-guide.md b/doc/en-US/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/en-US/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/en-US/translation-guide.md b/doc/en-US/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/en-US/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/en-US/user-guide.md b/doc/en-US/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/en-US/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/fa-IR/README.md b/doc/fa-IR/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/fa-IR/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/fa-IR/build-guide.md b/doc/fa-IR/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/fa-IR/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/fa-IR/dev-guide.md b/doc/fa-IR/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/fa-IR/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/fa-IR/release-guide.md b/doc/fa-IR/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/fa-IR/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/fa-IR/translation-guide.md b/doc/fa-IR/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/fa-IR/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/fa-IR/user-guide.md b/doc/fa-IR/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/fa-IR/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/fr-FR/README.md b/doc/fr-FR/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/fr-FR/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/fr-FR/build-guide.md b/doc/fr-FR/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/fr-FR/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/fr-FR/dev-guide.md b/doc/fr-FR/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/fr-FR/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/fr-FR/release-guide.md b/doc/fr-FR/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/fr-FR/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/fr-FR/translation-guide.md b/doc/fr-FR/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/fr-FR/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/fr-FR/user-guide.md b/doc/fr-FR/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/fr-FR/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/he-IL/README.md b/doc/he-IL/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/he-IL/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/he-IL/build-guide.md b/doc/he-IL/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/he-IL/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/he-IL/dev-guide.md b/doc/he-IL/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/he-IL/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/he-IL/release-guide.md b/doc/he-IL/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/he-IL/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/he-IL/translation-guide.md b/doc/he-IL/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/he-IL/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/he-IL/user-guide.md b/doc/he-IL/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/he-IL/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/hi-IN/README.md b/doc/hi-IN/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/hi-IN/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/hi-IN/build-guide.md b/doc/hi-IN/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/hi-IN/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/hi-IN/dev-guide.md b/doc/hi-IN/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/hi-IN/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/hi-IN/release-guide.md b/doc/hi-IN/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/hi-IN/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/hi-IN/translation-guide.md b/doc/hi-IN/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/hi-IN/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/hi-IN/user-guide.md b/doc/hi-IN/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/hi-IN/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/id-ID/README.md b/doc/id-ID/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/id-ID/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/id-ID/build-guide.md b/doc/id-ID/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/id-ID/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/id-ID/dev-guide.md b/doc/id-ID/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/id-ID/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/id-ID/release-guide.md b/doc/id-ID/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/id-ID/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/id-ID/translation-guide.md b/doc/id-ID/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/id-ID/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/id-ID/user-guide.md b/doc/id-ID/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/id-ID/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/it-IT/README.md b/doc/it-IT/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/it-IT/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/it-IT/build-guide.md b/doc/it-IT/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/it-IT/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/it-IT/dev-guide.md b/doc/it-IT/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/it-IT/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/it-IT/release-guide.md b/doc/it-IT/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/it-IT/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/it-IT/translation-guide.md b/doc/it-IT/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/it-IT/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/it-IT/user-guide.md b/doc/it-IT/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/it-IT/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/ja-JP/README.md b/doc/ja-JP/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/ja-JP/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/ja-JP/build-guide.md b/doc/ja-JP/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/ja-JP/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/ja-JP/dev-guide.md b/doc/ja-JP/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/ja-JP/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/ja-JP/release-guide.md b/doc/ja-JP/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/ja-JP/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/ja-JP/translation-guide.md b/doc/ja-JP/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/ja-JP/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/ja-JP/user-guide.md b/doc/ja-JP/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/ja-JP/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/ko-KR/README.md b/doc/ko-KR/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/ko-KR/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/ko-KR/build-guide.md b/doc/ko-KR/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/ko-KR/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/ko-KR/dev-guide.md b/doc/ko-KR/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/ko-KR/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/ko-KR/release-guide.md b/doc/ko-KR/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/ko-KR/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/ko-KR/translation-guide.md b/doc/ko-KR/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/ko-KR/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/ko-KR/user-guide.md b/doc/ko-KR/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/ko-KR/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/lo-LA/README.md b/doc/lo-LA/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/lo-LA/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/lo-LA/build-guide.md b/doc/lo-LA/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/lo-LA/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/lo-LA/dev-guide.md b/doc/lo-LA/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/lo-LA/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/lo-LA/release-guide.md b/doc/lo-LA/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/lo-LA/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/lo-LA/translation-guide.md b/doc/lo-LA/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/lo-LA/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/lo-LA/user-guide.md b/doc/lo-LA/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/lo-LA/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/my-MM/README.md b/doc/my-MM/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/my-MM/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/my-MM/build-guide.md b/doc/my-MM/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/my-MM/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/my-MM/dev-guide.md b/doc/my-MM/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/my-MM/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/my-MM/release-guide.md b/doc/my-MM/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/my-MM/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/my-MM/translation-guide.md b/doc/my-MM/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/my-MM/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/my-MM/user-guide.md b/doc/my-MM/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/my-MM/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/pl-PL/README.md b/doc/pl-PL/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/pl-PL/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/pl-PL/build-guide.md b/doc/pl-PL/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/pl-PL/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/pl-PL/dev-guide.md b/doc/pl-PL/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/pl-PL/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/pl-PL/release-guide.md b/doc/pl-PL/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/pl-PL/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/pl-PL/translation-guide.md b/doc/pl-PL/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/pl-PL/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/pl-PL/user-guide.md b/doc/pl-PL/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/pl-PL/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/ru-RU/README.md b/doc/ru-RU/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/ru-RU/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/ru-RU/build-guide.md b/doc/ru-RU/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/ru-RU/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/ru-RU/dev-guide.md b/doc/ru-RU/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/ru-RU/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/ru-RU/release-guide.md b/doc/ru-RU/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/ru-RU/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/ru-RU/translation-guide.md b/doc/ru-RU/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/ru-RU/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/ru-RU/user-guide.md b/doc/ru-RU/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/ru-RU/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/th-TH/README.md b/doc/th-TH/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/th-TH/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/th-TH/build-guide.md b/doc/th-TH/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/th-TH/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/th-TH/dev-guide.md b/doc/th-TH/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/th-TH/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/th-TH/release-guide.md b/doc/th-TH/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/th-TH/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/th-TH/translation-guide.md b/doc/th-TH/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/th-TH/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/th-TH/user-guide.md b/doc/th-TH/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/th-TH/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/tr-TR/README.md b/doc/tr-TR/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/tr-TR/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/tr-TR/build-guide.md b/doc/tr-TR/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/tr-TR/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/tr-TR/dev-guide.md b/doc/tr-TR/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/tr-TR/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/tr-TR/release-guide.md b/doc/tr-TR/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/tr-TR/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/tr-TR/translation-guide.md b/doc/tr-TR/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/tr-TR/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/tr-TR/user-guide.md b/doc/tr-TR/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/tr-TR/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/ug-CN/README.md b/doc/ug-CN/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/ug-CN/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/ug-CN/build-guide.md b/doc/ug-CN/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/ug-CN/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/ug-CN/dev-guide.md b/doc/ug-CN/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/ug-CN/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/ug-CN/release-guide.md b/doc/ug-CN/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/ug-CN/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/ug-CN/translation-guide.md b/doc/ug-CN/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/ug-CN/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/ug-CN/user-guide.md b/doc/ug-CN/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/ug-CN/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/doc/zh-TW/README.md b/doc/zh-TW/README.md new file mode 100644 index 0000000..2dae408 --- /dev/null +++ b/doc/zh-TW/README.md @@ -0,0 +1,220 @@ +# LedgerLearn — 记账学习模拟应用 + +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +[![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev) +[![Crowdin](https://badges.crowdin.net/ledgerlearn/localized.svg)](https://crowdin.com/project/ledgerlearn) + +一款面向**中国内地会计初学者**的多语言会计入门学习应用,支持多语言。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +> ⚠️ **适用地区说明**:本程序的科目体系、会计准则和知识内容均基于中国企业会计准则(ASBE)和中国大陆会计从业要求,主要面向中国内地的会计学习者。其他国家/地区的会计准则可能存在差异,请谨慎参考。 + +## 下载 + +| 平台 | 来源 | +| ------- | ---------------------------------------------------------------------------------------------------------- | +| Android | [F-Droid](https://f-droid.org)(审核中) / [GitHub Releases](https://github.com/Maicarons/ledgerlearn/releases) | +| 其他平台 | 参见[构建说明](#构建)自行编译 | + +## 功能概览 + +| 模块 | 功能描述 | +| ---------- | -------------------------------------------- | +| **首页仪表盘** | 当前账期概览:凭证数量、借贷方合计、试算平衡状态;快捷入口 | +| **凭证管理** | 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,4 种业务模板 | +| **会计科目** | 59 个预置标准科目(资产/负债/权益/成本/损益),支持自定义科目 | +| **总账/明细账** | 按科目汇总的总账,按凭证逐笔展示的明细账 | +| **财务报表** | 试算平衡表、利润表、资产负债表,附教学解读 | +| **知识库** | 74 条三语知识卡片(会计实务 + 经济法),支持 Markdown 渲染,支持联网更新 | +| **导出** | 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表导出为 CSV/PDF | +| **设置** | 中/英/韩语言实时切换,浅色/深色/跟随系统主题,数据重置 | + +## 技术栈 + +- **框架**:Flutter 3.x(Dart 3) +- **状态管理 / 路由 / 依赖注入 / 国际化**:GetX +- **本地存储**:GetStorage +- **HTTP 客户端**:GetConnect(GetX 内置) +- **Markdown 渲染**:flutter_markdown +- **PDF 导出**:pdf +- **图表**:fl_chart +- **列表滑动手势**:flutter_slidable +- **日期/数字格式化**:intl +- **文件路径**:path_provider +- **静态分析**:flutter_lints + +## 项目结构 + +``` +├── i18n/ # 📦 Crowdin 翻译源文件(JSON) +│ ├── zh_CN.json # 源语言:简体中文 +│ ├── en_US.json # 英文翻译 +│ └── ko_KR.json # 韩文翻译 +├── scripts/ +│ └── gen_i18n.dart # JSON → Dart 翻译代码生成器 +├── fastlane/metadata/android/ +│ ├── zh-CN/ # F-Droid 元数据(源语言/中文) +│ ├── en-US/ # F-Droid 元数据(英文) +│ └── ko-KR/ # F-Droid 元数据(韩文) +├── fdroid/ +│ └── com.yosvu.ledgerlearn.ledgerlearn.yml # fdroiddata 提交用元数据 +├── crowdin.yml # Crowdin 翻译平台配置 +├── lib/ +│ ├── main.dart # 入口 + 底部导航壳 +│ ├── app/ +│ │ ├── bindings/app_binding.dart # GetX 全局依赖注入 +│ │ ├── config/preset_data.dart # 59 个科目 + 74 条知识卡片的预置数据 +│ │ ├── i18n/ +│ │ │ ├── translations.dart # GetX Translations 类(由 gen_i18n.dart 生成) +│ │ │ └── locales/ # 各语言 Dart 文件(由 gen_i18n.dart 生成) +│ │ ├── routes/app_pages.dart # 16 条命名路由 +│ │ └── theme/app_theme.dart # Material 3 主题 + 字体配置 +│ ├── data/ +│ │ ├── models/ # Account / Voucher / Entry / KnowledgeCard +│ │ ├── repositories/ # 数据仓库层 +│ │ └── services/ +│ │ ├── database_service.dart # GetStorage 持久化 + 数据预置 +│ │ ├── remote_knowledge_service.dart # 联网知识库拉取 +│ │ └── export_service.dart # CSV/PDF 导出 +│ ├── modules/ +│ │ ├── home/ # 首页仪表盘 +│ │ ├── voucher/ # 凭证录入/列表/详情 +│ │ ├── accounts/ # 科目管理/详情 +│ │ ├── ledger/ # 总账/明细账 +│ │ ├── reports/ # 试算平衡/利润表/资产负债表 +│ │ ├── knowledge/ # 知识库浏览/详情 +│ │ └── settings/ # 语言切换/数据重置 +│ └── shared/ +│ ├── widgets/ # 公共组件(科目选择器等) +│ └── utils/ # 工具函数(金额格式化、余额计算) +└── assets/ + ├── fonts/ # Inter / Noto Sans SC / Noto Sans KR 字体 + └── data/ # 预置数据(knowledge_cards.json) +``` + +## 快速开始 + +### 环境要求 + +- Flutter 3.x(beta 频道),Dart 3.11+ +- Android Studio / VS Code +- Android SDK 或 Chrome(Web 模式) + +### 运行 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn + +# 安装依赖 +flutter pub get + +# 代码检查 +flutter analyze + +# 在 Chrome 中运行(无需 Android 模拟器) +flutter run -d chrome + +# 在 Android 设备/模拟器运行 +flutter run + +# 构建 APK +flutter build apk +``` + +## 翻译(Crowdin) + +本项目使用 [Crowdin](https://crowdin.com) 翻译平台管理多语言内容。翻译范围包括: + +- **应用 UI 文本** — `i18n/*.json` +- **F-Droid 商店页面文本** — `fastlane/metadata/android/*.txt` +- **项目文档** — `README.md` + +### 翻译工作流 + +```bash +# 1. 从 Crowdin 拉取最新翻译 +crowdin pull + +# 2. 从 JSON 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 3. 更新源文本后推送至 Crowdin +crowdin push + +# 4. 添加新语言只需在 crowdin.yml 中配置,然后拉取 + 生成即可 +``` + +### 当前支持的语言 + +| 语言 | 代码 | 状态 | +| --------------- | ------- | -------------- | +| 🇨🇳 简体中文(源语言) | `zh_CN` | ✅ 完成 | +| 🇺🇸 English | `en_US` | ✅ 完成 | +| 🇰🇷 한국어 | `ko_KR` | ✅ 完成 | +| 🇯🇵 日本語 | `ja_JP` | 🔜 Crowdin 待翻译 | +| 🇻🇳 Tiếng Việt | `vi_VN` | 🔜 Crowdin 待翻译 | +| 🇹🇭 ไทย | `th_TH` | 🔜 Crowdin 待翻译 | + +### 参与翻译 + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 选择目标语言并开始翻译 +3. 翻译审核通过后,将合并到主分支 + +## 会计科目体系 + +预置 **59 个标准会计科目**,严格按照**中国企业会计准则**分类: + +- **资产类**(25 个):库存现金、银行存款、应收账款、原材料、库存商品、固定资产、累计折旧等 +- **负债类**(12 个):短期借款、应付账款、应付职工薪酬、应交税费、长期借款等 +- **所有者权益类**(5 个):实收资本、资本公积、盈余公积、本年利润、利润分配 +- **成本类**(2 个):生产成本、制造费用 +- **损益类**(15 个):主营业务收入、主营业务成本、销售费用、管理费用、财务费用等 + +每个科目均包含中英韩三语名称与讲解说明。 + +## 数据持久化 + +使用 GetStorage 以 JSON 格式存储全部数据: + +| 键 | 内容 | +| ----------------- | ------ | +| `accounts` | 科目列表 | +| `vouchers` | 凭证列表 | +| `knowledge_cards` | 知识卡片列表 | +| `locale` | 语言偏好 | +| `themeMode` | 主题模式 | +| `colorScheme` | 配色方案 | +| `defaultPeriod` | 默认账期 | + +首次启动时自动写入预置数据,后续启动读取已有数据。通过设置页可一键重置为初始状态。 + +## 教学融入设计 + +- **凭证保存后**:随机弹出会计实务知识点 +- **凭证不平衡**:提示「有借必有贷,借贷必相等」并解释借贷记账法 +- **报表页面**:点击信息图标查看该报表的解读说明 +- **科目详情页**:展示关联的知识卡片 +- **明细账/总账页**:悬浮按钮解释会计概念 + +## 发布到 F-Droid + +`fdroid/` 目录下的 YAML 文件已准备就绪,可直接提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +```bash +# 预览 F-Droid 元数据 +cat fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml + +# 本地验证构建(需要 fdroidserver) +fdroid build com.yosvu.ledgerlearn.ledgerlearn +``` + +商店页面文本(fastlane 格式)存放于 `fastlane/metadata/android/`。 + +## 许可证 + +[GNU General Public License v3.0](LICENSE) + +Copyright (C) 2026 Maicarorns + +LedgerLearn is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. diff --git a/doc/zh-TW/build-guide.md b/doc/zh-TW/build-guide.md new file mode 100644 index 0000000..7ea2abb --- /dev/null +++ b/doc/zh-TW/build-guide.md @@ -0,0 +1,255 @@ +# LedgerLearn 构建指南 + +## 环境要求 + +| 工具 | 版本 | 说明 | +| ----------- | --------------------------- | -------------------------- | +| Flutter SDK | 3.x beta 频道 | Dart 3.11+ | +| Android SDK | API 34+ | `ANDROID_HOME` 已配置 | +| JDK | 17 | 编译 Android 必需 | +| Git | 2.x | 获取源码和依赖 | +| Crowdin CLI | 最新版 | 翻译管理(可选,仅翻译工作需要) | + +### 环境检查 + +```bash +flutter doctor -v +``` + +确保至少 `Android toolchain` 和所需的桌面平台工具链通过检查。 + +## 获取源码 + +```bash +git clone https://github.com/Maicarons/ledgerlearn.git +cd ledgerlearn +flutter pub get +``` + +## 平台构建 + +### Android APK(通用) + +```bash +# Debug 构建(快速测试) +flutter build apk --debug + +# Release 构建(发布用) +flutter build apk --release + +# 分 ABI 构建(减小包体积,推荐) +flutter build apk --release --split-per-abi +``` + +产物路径: + +| 构建类型 | 路径 | +| --------------------------- | ----------------------------------------------------------- | +| 通用 APK | `build/app/outputs/flutter-apk/app-release.apk` | +| arm64-v8a | `build/app/outputs/flutter-apk/app-arm64-v8a-release.apk` | +| armeabi-v7a | `build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk` | +| x86_64 | `build/app/outputs/flutter-apk/app-x86_64-release.apk` | + +### Android App Bundle(Google Play) + +```bash +flutter build appbundle --release +``` + +产物路径:`build/app/outputs/bundle/release/app-release.aab` + +### iOS + +```bash +flutter build ios --release +``` + +产物路径:`build/ios/iphoneos/Runner.app` + +> 注意:iOS 构建需要 macOS + Xcode,且需在 `ios/Runner.xcworkspace` 中配置签名团队。 + +### Web + +```bash +flutter build web --release +``` + +产物路径:`build/web/` + +### Windows + +```bash +flutter build windows --release +``` + +产物路径:`build/windows/x64/runner/Release/` + +### Linux + +```bash +flutter build linux --release +``` + +产物路径:`build/linux/x64/release/bundle/` + +### macOS + +```bash +flutter build macos --release +``` + +产物路径:`build/macos/Build/Products/Release/` + +## Android 签名配置 + +### 生成签名密钥 + +```bash +keytool -genkey -v -keystore ledgerlearn.jks \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -alias ledgerlearn +``` + +### 配置 Gradle 签名 + +创建 `android/key.properties`: + +```properties +storePassword=<密钥库密码> +keyPassword=<密钥密码> +keyAlias=ledgerlearn +storeFile=<密钥库文件路径> +``` + +> ⚠️ `key.properties` 已在 `.gitignore` 中排除,切勿提交到版本控制。 + +修改 `android/app/build.gradle.kts`,在 `android` 块之前添加: + +```kotlin +def keystoreProperties = new Properties() +def keystorePropertiesFile = rootProject.file('key.properties') +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +} +``` + +并在 `buildTypes.release` 中配置: + +```kotlin +signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"] != null ? + file(keystoreProperties["storeFile"] as String) : null + storePassword = keystoreProperties["storePassword"] as String + } +} +buildTypes { + release { + signingConfig = signingConfigs.getByName("release") + } +} +``` + +## F-Droid 发布构建 + +F-Droid 需要**可复现构建**。关键要求: + +### 1. 无网络依赖的离线构建 + +F-Droid 构建服务器在无网络环境下运行 `flutter pub get` 之前会预先下载所有依赖。确保: + +```bash +# 本地验证离线构建能力 +flutter pub cache repair +flutter pub get --offline +``` + +### 2. 发布版本标签 + +```bash +git tag -a v1.0.0 -m "Release 1.0.0" +git push origin v1.0.0 +``` + +标签名称与 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `commit` 字段对应。 + +### 3. F-Droid 元数据验证 + +```bash +# 安装 fdroidserver(需要 Python 3) +pip install fdroidserver + +# 验证元数据语法 +fdroid readmeta fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml +``` + +### 4. 提交到 fdroiddata + +1. Fork [fdroiddata](https://gitlab.com/fdroid/fdroiddata) +2. 将 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 复制到 `metadata/` 目录 +3. 创建 Merge Request + +详细的 F-Droid 提交流程参见:[F-Droid Submission Guide](https://f-droid.org/en/docs/Submitting_to_F-Droid_Quick_Start_Guide/) + +## 翻译文件生成 + +构建前确保翻译文件是最新的: + +```bash +# 如果参与了 Crowdin 翻译项目 +crowdin pull # 拉取最新翻译 +dart run scripts/gen_i18n.dart # 生成 Dart 翻译文件 + +# 检查生成结果 +flutter analyze +``` + +## 代码质量 + +```bash +# 静态分析 +flutter analyze + +# 格式化 +dart format lib/ + +# 运行测试 +flutter test +``` + +## CI/CD 建议 + +### GitHub Actions 最小配置 + +```yaml +name: Build APK +on: + push: + tags: ['v*'] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: beta + - run: flutter pub get + - run: flutter build apk --release --split-per-abi + - uses: softprops/action-gh-release@v1 + with: + files: build/app/outputs/flutter-apk/*.apk +``` + +## 常见问题 + +**Q: `flutter build apk` 报签名错误?** +A: 检查 `android/key.properties` 是否存在且路径正确。如果没有该文件,会使用 debug 签名构建(仅供本地测试)。 + +**Q: F-Droid 构建失败?** +A: 常见原因:(1) 依赖有网络访问 (2) Gradle 版本不兼容 (3) `pubspec.lock` 未提交到仓库。确保 `pubspec.lock` 已提交,所有依赖均来自 pub.dev 或已镜像。 + +**Q: 构建产物体积过大?** +A: 使用 `--split-per-abi` 分 ABI 构建,单个 APK 约 20-30 MB。字体文件是体积最大的资源。 diff --git a/doc/zh-TW/dev-guide.md b/doc/zh-TW/dev-guide.md new file mode 100644 index 0000000..82869ac --- /dev/null +++ b/doc/zh-TW/dev-guide.md @@ -0,0 +1,213 @@ +# LedgerLearn 开发文档 + +## 项目概述 + +LedgerLearn 是一个基于 Flutter + GetX 的多语言会计学习应用。支持 Android / iOS / Web / Windows / macOS / Linux 六个平台。 + +## 技术栈 + +| 层级 | 技术 | +| -------- | ----------------------------------------------------------- | +| UI 框架 | Flutter 3.x (Material 3) | +| 状态管理 | GetX (Rx 响应式) | +| 路由管理 | GetX (GetPage) | +| 依赖注入 | GetX (Bindings) | +| 国际化 | GetX (Translations) | +| 本地存储 | GetStorage | +| HTTP 客户端 | GetConnect | +| 字体 | Inter + Noto Sans SC/KR (本地捆绑) | +| Markdown | flutter_markdown | +| PDF 导出 | pdf | +| 分析 | flutter_lints | + +## 环境搭建 + +### 前提条件 + +- Flutter 3.x beta 频道 (Dart 3.11+) +- Android Studio / VS Code +- 各平台对应的 SDK + +> 各平台 Release 构建(签名、F-Droid 适配等)的完整说明见 [构建指南](build-guide.md)。 + +### 安装依赖 + +```bash +flutter pub get +``` + +### 运行 + +```bash +# Chrome (最快) +flutter run -d chrome + +# Android 模拟器 +flutter run + +# Windows Desktop +flutter run -d windows + +# 指定设备 +flutter run -d +``` + +### 构建 + +```bash +flutter build apk # Android APK +flutter build web # Web +flutter build windows # Windows +``` + +## 项目架构 + +采用 Clean Architecture + GetX 分层: + +``` +lib/ +├── app/ # 应用配置层 +│ ├── bindings/ # 全局依赖注入 +│ ├── config/ # 预置数据常量 +│ ├── i18n/ # 国际化翻译文件(由 scripts/gen_i18n.dart 自动生成) +│ ├── routes/ # 路由表 +│ └── theme/ # 主题配置 +├── data/ # 数据层 +│ ├── models/ # 数据模型 (Account, Voucher, Entry, KnowledgeCard) +│ ├── repositories/ # 数据仓库 (封装存储查询逻辑) +│ └── services/ # 服务层 (DatabaseService, ExportService, RemoteKnowledgeService) +├── modules/ # 功能模块 (home/voucher/accounts/ledger/reports/knowledge/settings) +│ ├── */controllers/ # GetxController +│ ├── */views/ # 页面 Widget +│ └── */bindings/ # 模块绑定 +└── shared/ # 共享组件 + ├── widgets/ # 公共 Widget (AccountPicker 等) + └── utils/ # 工具函数 (金额格式化、余额计算) +``` + +> 翻译工作流和添加新语言的详细说明参见 [翻译指南](translation-guide.md),构建和发布说明参见 [构建指南](build-guide.md)。 + +## 模块说明 + +### 数据模型 + +#### Account (会计科目) + +```dart +class Account { + String id; // 科目编码 (如 1001) + String nameZh; // 中文名称 + String nameEn; // 英文名称 + String nameKo; // 韩文名称 + String category; // asset/liability/equity/cost/pl + int type; // 1=资产 2=负债 3=权益 4=成本 5=损益(收入) 6=损益(费用) + double openingBalance; + bool isSystem; // 系统预置科目不可删除 +} +``` + +#### Voucher (记账凭证) + +```dart +class Voucher { + String id; // 凭证号 (格式: 年月+4位流水) + DateTime date; + String summary; // 摘要 + List entries; // 分录列表 +} + +class Entry { + String accountId; + String accountName; + bool isDebit; // true=借 false=贷 + double amount; +} +``` + +#### KnowledgeCard (知识卡片) + +```dart +class KnowledgeCard { + String id; + String titleZh/titleEn/titleKo; // 三语标题 + String contentZh/contentEn/contentKo; // 三语内容 (Markdown) + String category; // accounting_practice / economic_law / tax + String? relatedAccountId; +} +``` + +### 数据流 + +``` +View (Widget) + ├→ GetX Controller (Rx variables) + │ └→ Repository (data logic) + │ └→ DatabaseService (GetStorage persistence) + └→ UI 自动更新 (Obx) +``` + +### 国际化 + +- 所有 UI 文字使用 `.tr` 获取翻译:`'voucher_title'.tr` +- 翻译源文件为 `i18n/*.json`(JSON 格式),由 Crowdin 平台管理 +- Dart 文件 `lib/app/i18n/locales/` 由 `scripts/gen_i18n.dart` 从 JSON 自动生成 +- 动态数据(科目名、知识卡片)使用三语字段存储,通过 `locale` 参数选择 +- 语言切换:`Get.updateLocale(Locale(lang, region))` +- 详细的翻译工作流参见 [翻译指南](translation-guide.md) + +### 联网知识库 + +``` +RemoteKnowledgeService + ├→ fetchKnowledgeCards() + │ ├→ GET remoteUrl (10s timeout) + │ ├→ 成功 → 返回 List + │ └→ 失败 → 返回 null + └→ DatabaseService._refreshKnowledge() + ├→ 远程成功 → 覆盖本地存储 + └→ 远程失败 → 使用内置 presetKnowledgeCards +``` + +### 导出功能 + +`ExportService` 提供 CSV 和 PDF 两种导出: + +- 文件保存到 `getApplicationDocumentsDirectory()` +- 文件名包含时间戳 +- CSV 带 BOM 头(Excel 兼容) + +### 主题和字体 + +- 主色调:蓝色系 (`Color(0xFF1565C0)`) +- 字体:`Inter` (主) + `Noto Sans SC` + `Noto Sans KR` (后备) +- 字体文件位于 `assets/fonts/`,在 `pubspec.yaml` 中注册 + +## 添加新功能指南 + +### 添加新模块 + +1. 在 `lib/modules/` 下创建目录 +2. 创建 `controllers/`, `views/`, `bindings/` 子目录 +3. 在 `app/routes/app_pages.dart` 添加路由 +4. 如需翻译,在 `app/i18n/locales/` 三个语言文件中添加翻译键 + +### 添加新知识卡片 + +1. 在 `app/config/preset_data.dart` 的 `presetKnowledgeCards` 列表中添加 +2. 更新 `assets/data/knowledge_cards.json` 以支持远程更新 + +### 添加新语言 + +参见 [翻译指南 — 添加新语言](translation-guide.md#添加新语言)。简要流程: + +1. 在 Crowdin 平台添加目标语言并完成翻译 +2. 在 `scripts/gen_i18n.dart` 中添加语言映射 +3. 运行 `crowdin pull && dart run scripts/gen_i18n.dart` +4. 在设置页面的语言选项中注册新语言 + +## 注意事项 + +1. **金额计算**:以 double 存储,比较时使用 `(a - b).abs() < 0.001` 避免浮点误差 +2. **GetStorage 初始化**:必须 `await GetStorage.init()` 后才能读写 +3. **Obx 使用**:`Obx` 内部必须包含至少一个 `.obs` 响应式变量 +4. **跨模块引用**:使用相对路径 import,避免循环依赖 diff --git a/doc/zh-TW/release-guide.md b/doc/zh-TW/release-guide.md new file mode 100644 index 0000000..4c1bcdc --- /dev/null +++ b/doc/zh-TW/release-guide.md @@ -0,0 +1,108 @@ +# LedgerLearn 发布指南 + +## 概述 + +本项目使用 `version.json` 作为版本号的唯一来源,通过脚本自动同步到 `pubspec.yaml`、F-Droid 元数据和 App 内显示。 + +CI/CD 由 GitHub Actions 驱动: + +- **CI** (`.github/workflows/ci.yml`) — 每次 PR / push 到 master 时运行静态分析 + 测试 +- **Release** (`.github/workflows/release.yml`) — 构建 APK 并发布 GitHub Release + +## 发布方式 + +### 方式一:GitHub Actions 手动触发(推荐) + +1. 打开 [Actions → Release](https://github.com/Maicarons/ledgerlearn/actions/workflows/release.yml) +2. 点击 **Run workflow** +3. 选择 `bump_level`: + | 选项 | 说明 | 示例 | + | ------- | -------------- | ----------------------------------------------------------------------------- | + | `patch` | 修复版 | 0.1.0 → 0.1.1 | + | `minor` | 功能版 | 0.1.0 → 0.2.0 | + | `major` | 重大版 | 0.1.0 → 1.0.0 | + | `none` | 不升版(仅重新构建当前版本) | — | +4. 点击 **Run workflow** + +流程自动完成: + +- 更新 `version.json`(如选择 bump) +- 同步 `pubspec.yaml` 和 F-Droid 元数据 +- 构建 `app-release.apk` +- 创建 GitHub Release 并附上 APK +- 提交版本变更并推送 `vX.Y.Z` 标签 + +### 方式二:本地手动发布 + +```bash +# 1. 更新 CHANGELOG.md,在顶部添加新版本的变更说明 + +# 2. 升版本号 +dart run scripts/bump_version.dart patch # 或 minor / major + +# 3. 同步到各目标文件 +dart run scripts/sync_version.dart + +# 4. 验证无错误 +flutter analyze + +# 5. 提交并推送标签 +git add version.json pubspec.yaml fdroid/ lib/app/config/ CHANGELOG.md +VER=$(jq -r '.version' version.json) +git commit -m "chore(release): bump version to $VER" +git tag v$VER +git push origin master v$VER +``` + +推送标签后,GitHub Actions 会自动构建 APK 并创建 Release。 + +## 版本号规则 + +- 遵循 [语义化版本](https://semver.org/lang/zh-CN/):`主版本.次版本.修订号` +- `version_code` 为整数,每次发布递增加 1(Android 要求) +- F-Droid 使用 `CurrentVersion` + `CurrentVersionCode` + +## 更新 CHANGELOG + +每次发布前,在 `CHANGELOG.md` 顶部添加新版本的变更条目: + +```markdown +## [1.0.1] - 2025-06-01 + +### Added +- 新功能描述 + +### Fixed +- 修复的问题描述 + +### Changed +- 变更的描述 +``` + +发布后 CHANGELOG 内容会作为 GitHub Release 的发布说明。 + +## 同步到 F-Droid + +1. GitHub Release 发布后,更新 `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` 中的 `Builds` 列表: + +```yaml +Builds: + - versionName: '1.0.1' + versionCode: 2 + commit: v1.0.1 + subdir: . + ... +``` + +2. 将更新后的 YAML 提交到 [fdroiddata](https://gitlab.com/fdroid/fdroiddata) 仓库的 Merge Request。 + +## 相关文件 + +| 文件 | 用途 | +| ---------------------------------------------- | ------------- | +| `version.json` | 版本号唯一来源 | +| `CHANGELOG.md` | 用户可见的变更日志 | +| `scripts/bump_version.dart` | 版本号升级工具 | +| `scripts/sync_version.dart` | 版本号同步工具 | +| `.github/workflows/release.yml` | 自动发布工作流 | +| `fdroid/com.yosvu.ledgerlearn.ledgerlearn.yml` | F-Droid 构建元数据 | diff --git a/doc/zh-TW/translation-guide.md b/doc/zh-TW/translation-guide.md new file mode 100644 index 0000000..d0cf29b --- /dev/null +++ b/doc/zh-TW/translation-guide.md @@ -0,0 +1,237 @@ +# LedgerLearn 翻译指南 + +## 概述 + +LedgerLearn 使用 [Crowdin](https://crowdin.com) 翻译管理平台管理所有多语言内容。翻译范围包括三个层面: + +| 层面 | 源文件 | 格式 | 说明 | +| ---------------- | --------------------------------------- | -------- | ----------------- | +| **应用 UI 文本** | `i18n/zh_CN.json` | JSON | 151 个翻译键,覆盖所有界面文字 | +| **F-Droid 商店页面** | `fastlane/metadata/android/zh-CN/*.txt` | 纯文本 | 标题、简介、完整描述、更新日志 | +| **项目文档** | `README.md` | Markdown | 项目说明文档 | + +源语言为**简体中文(zh-CN)**,目标语言目前包括英文(en-US)和韩文(ko-KR)。 + +## 参与翻译 + +### 方式一:Crowdin 在线平台(推荐) + +1. 访问 [LedgerLearn Crowdin 项目](https://crowdin.com/project/ledgerlearn) +2. 注册 Crowdin 账号并加入项目 +3. 选择目标语言开始翻译 +4. 提交翻译后等待审核 + +无需任何技术背景,直接在浏览器中翻译即可。 + +### 方式二:直接提交 JSON 文件 + +如果不使用 Crowdin,也可以直接编辑 `i18n/` 目录下的 JSON 文件并提交 Pull Request: + +1. Fork 项目 +2. 复制 `i18n/zh_CN.json` 为新语言文件(如 `i18n/ja_JP.json`) +3. 逐条翻译所有 value(保留 key 和 JSON 结构不变) +4. 在 `crowdin.yml` 中添加新语言的映射 +5. 运行 `dart run scripts/gen_i18n.dart` 生成 Dart 文件 +6. 提交 PR + +## 翻译文件结构 + +### 应用 UI 文本(JSON) + +```json +{ + "app_name": "记账学习", + "save": "保存", + "voucher_title": "凭证管理", + ... +} +``` + +- **key**:翻译键,在 Dart 代码中通过 `'key'.tr` 引用 +- **value**:翻译文本 +- 支持占位符:`"ledger_detail_for": "明细账 - {account}"` —— `{account}` 会被运行时变量替换 +- 键名排序不影响运行时行为,但建议保持与源文件一致以方便对比 + +### F-Droid 元数据(纯文本) + +``` +fastlane/metadata/android// +├── title.txt # 应用标题(≤30 字符) +├── short_description.txt # 简短描述(≤80 字符) +├── full_description.txt # 完整描述(≤4000 字符) +└── changelogs/ + └── .txt # 版本更新日志 +``` + +## 项目维护者工作流 + +### 安装 Crowdin CLI + +```bash +# macOS / Linux +brew install crowdin + +# Windows (scoop) +scoop install crowdin + +# 或通过 npm +npm install -g @crowdin/cli +``` + +### 配置认证 + +在 CI 环境或本地设置环境变量(由 `crowdin.yml` 引用): + +```bash +export CROWDIN_PROJECT_ID="your_project_id" +export CROWDIN_PERSONAL_TOKEN="your_personal_access_token" +``` + +或者在项目根目录创建 `crowdin.yml` 同级的 `.crowdin` 环境文件(已在 `.gitignore` 中排除)。 + +### 推送源文本 + +修改了源语言(中文)的翻译键或 F-Droid 元数据后: + +```bash +# 推送所有源文件到 Crowdin +crowdin push + +# 仅推送 UI 文本 +crowdin push -s i18n/zh_CN.json + +# 仅推送 F-Droid 元数据 +crowdin push -s fastlane/metadata/android/zh-CN/ +``` + +### 拉取翻译 + +审核完成后拉取翻译并生成 Dart 文件: + +```bash +# 拉取所有翻译 +crowdin pull + +# 生成 Dart 翻译文件 +dart run scripts/gen_i18n.dart + +# 验证生成结果 +flutter analyze +``` + +### 添加新语言 + +以添加日语(ja_JP)为例: + +**步骤 1**:在 `crowdin.yml` 中为新语言添加映射(已预留配置,取消注释即可) + +```yaml +languages_mapping: + two_letters_code: + ja-JP: ja_JP # ← 已预留 +``` + +**步骤 2**:在 `scripts/gen_i18n.dart` 的映射表中添加: + +```dart +const localeFileMap = { + // ... 已有语言 + 'ja_JP': 'ja_JP.dart', // 新增 +}; + +const localeVarMap = { + // ... 已有语言 + 'ja_JP': 'jaJP', // 新增 +}; +``` + +**步骤 3**:在 Crowdin 平台上添加日语作为目标语言。 + +**步骤 4**:翻译完成后拉取并生成: + +```bash +crowdin pull +dart run scripts/gen_i18n.dart +``` + +**步骤 5**:在设置页面中注册新语言选项(参见 `lib/modules/settings/controllers/settings_controller.dart`)。 + +### 手动编辑 JSON 翻译(不使用 Crowdin CLI) + +当直接编辑 `i18n/*.json` 文件后: + +```bash +dart run scripts/gen_i18n.dart +``` + +此脚本会: + +1. 读取 `i18n/` 下所有 JSON 文件 +2. 为每个文件生成对应的 `lib/app/i18n/locales/.dart` +3. 自动更新 `lib/app/i18n/translations.dart` 中的语言注册 + +## 翻译规范 + +### 通用原则 + +1. **保持占位符不变**:`{account}` 等 `{...}` 标记不要翻译 +2. **保持键名不变**:JSON key 是不可翻译的标识符 +3. **长度控制**:UI 文本尽可能简洁,避免因翻译导致布局溢出 +4. **一致性**:同一术语在全文中保持相同译法 + +### 中文(源语言)规范 + +- 使用中国大陆简体中文表述 +- 会计术语严格遵循《企业会计准则》 +- 界面文字简洁明了,适合初学者理解 + +### 术语对照 + +以下为关键术语的标准译法,请在翻译中保持一致: + +| 中文 | English | 한국어 | +| ------ | ---------------- | ----- | +| 借 / 借方 | Debit / Dr | 차변 | +| 贷 / 贷方 | Credit / Cr | 대변 | +| 凭证 | Voucher | 전표 | +| 分录 | Entry | 분개 | +| 科目 | Account | 계정 | +| 总账 | General Ledger | 총계정원장 | +| 明细账 | Detail Ledger | 보조원장 | +| 试算平衡表 | Trial Balance | 시산표 | +| 利润表 | Income Statement | 손익계산서 | +| 资产负债表 | Balance Sheet | 대차대조표 | +| 资产 | Assets | 자산 | +| 负债 | Liabilities | 부채 | +| 所有者权益 | Owner's Equity | 자본 | +| 期初余额 | Opening Balance | 기초잔액 | +| 期末余额 | Ending Balance | 기말잔액 | + +## 代码生成器说明 + +`scripts/gen_i18n.dart` 是翻译系统的核心工具,负责将 JSON 翻译文件转换为 Flutter 可用的 Dart 代码。 + +``` +i18n/zh_CN.json ──┐ +i18n/en_US.json ──┼── gen_i18n.dart ──→ lib/app/i18n/locales/zh_CN.dart +i18n/ko_KR.json ──┤ lib/app/i18n/locales/en_US.dart +i18n/ja_JP.json ──┘ lib/app/i18n/locales/ko_KR.dart + lib/app/i18n/translations.dart +``` + +### 工作原理 + +1. 扫描 `i18n/` 目录中所有 `.json` 文件 +2. 解析 JSON,提取 key-value 对 +3. 按 key 排序后生成 `const Map` Dart 代码 +4. 对特殊字符(`$`、`'`、`\n`)进行转义 +5. 自动生成 `translations.dart`,注册所有语言 + +此脚本每次运行都会**完全覆盖**目标 Dart 文件,因此切勿手动编辑自动生成的文件。 + +## 版本控制 + +- ✅ **提交**:`i18n/*.json`、`scripts/gen_i18n.dart`、`crowdin.yml` +- ✅ **提交**:`lib/app/i18n/locales/*.dart`(生成的文件,确保未配置 Crowdin 的开发者也能直接构建) +- ✅ **提交**:`pubspec.lock`(F-Droid 可复现构建需要) +- ❌ **不提交**:Crowdin API token、`.crowdin` 环境文件 diff --git a/doc/zh-TW/user-guide.md b/doc/zh-TW/user-guide.md new file mode 100644 index 0000000..0cefb29 --- /dev/null +++ b/doc/zh-TW/user-guide.md @@ -0,0 +1,119 @@ +# LedgerLearn 用户手册 + +## 简介 + +LedgerLearn 是一款面向会计初学者的学习模拟应用,支持中文、英文、韩文三种语言。通过模拟完整的会计记账流程,在操作中嵌入知识点,实现「做中学」。 + +## 安装 + +### Android + +1. 从发布页下载 APK 文件 +2. 在手机上安装(需要允许"未知来源"安装) +3. 首次启动会自动初始化预置数据 + +### 其他平台 + +请参考开发文档从源码构建。 + +## 功能指南 + +### 首页仪表盘 + +- 顶部显示当前账期,可通过下拉菜单切换月份 +- 四张概览卡片:本月凭证数量、借方合计、贷方合计、试算平衡状态 +- 如果试算不平衡,会显示醒目的警告提示 +- 快捷入口:录凭证、科目余额表、知识库 + +### 凭证管理 + +#### 新建凭证 + +1. 点击右下角的「新建凭证」按钮 +2. 选择日期,输入业务摘要 +3. 添加分录行(最少 2 行) + - 点击科目选择框搜索科目(支持中/英/韩文搜索) + - 选择借贷方向(借/贷) + - 输入金额 +4. 底部实时显示借方合计和贷方合计 +5. 借贷不平衡时金额显示为红色,无法保存 +6. 保存成功后弹出知识点提示 + +#### 业务模板 + +新建凭证时提供 4 种常见业务模板: + +- **提现**:从银行提取现金 +- **采购原材料**:购买原材料,价款未付 +- **销售商品**:销售商品,款项存入银行 +- **报销差旅费**:现金报销差旅费 + +点击模板按钮可自动填充摘要和分录。 + +#### 凭证列表 + +- 按日期降序显示所有凭证 +- 支持按年份和月份筛选 +- 点击凭证查看详情 +- 详情页支持编辑和删除 + +### 会计科目 + +- 预置 59 个标准会计科目,按类别分组 +- 支持按类别筛选(全部/资产/负债/权益/成本/损益) +- 支持搜索(科目编码或名称) +- 点击科目查看详情: + - 科目基本信息 + - 期初余额、本期发生额、期末余额 + - 关联的知识卡片 + - 可跳转到该科目的明细账 + +### 总账与明细账 + +- **总账**:按科目汇总,显示期初余额、本期借方/贷方、期末余额 +- **明细账**:点击总账中的科目进入,逐笔显示该科目的所有记账记录 + +### 财务报表 + +#### 试算平衡表 + +- 验证所有科目借方总额是否等于贷方总额 +- 顶部显示平衡/不平衡状态 +- 点击信息图标查看解读说明 + +#### 利润表 + +- 收入类科目和费用类科目分别列示 +- 自动计算净利润(收入 - 费用) + +#### 资产负债表 + +- 资产、负债、所有者权益分类展示 +- 验证:资产 = 负债 + 所有者权益 + +#### 导出功能 + +所有报表页面均支持导出为 CSV 文件,可通过 AppBar 中的下载按钮操作。 + +### 知识库 + +- 知识卡片分为「会计实务」和「经济法」两类 +- 支持搜索和按类别筛选 +- 内容使用 Markdown 格式渲染 +- 联网启动时自动从服务器拉取最新知识库 + +### 设置 + +- **语言切换**:中文 / 英文 / 韩文,切换后即时生效 +- **数据重置**:清除所有凭证,恢复预置科目和知识卡片 + +## 常见问题 + +**Q: 为什么新建凭证时无法保存?** +A: 请检查:1)是否填写了摘要;2)分录是否至少 2 行;3)所有分录是否选择了科目;4)借贷金额是否相等。 + +**Q: 试算平衡表不平衡怎么办?** +A: 检查是否有凭证的借贷金额不相等。逐个检查凭证即可找到问题。 + +**Q: 如何更新知识库内容?** +A: 将 `assets/data/knowledge_cards.json` 上传到你的服务器,然后修改 `lib/data/services/remote_knowledge_service.dart` 中的 URL。应用启动时会自动拉取最新内容。 diff --git a/fastlane/metadata/android/ar-SA/changelogs/1.txt b/fastlane/metadata/android/ar-SA/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/ar-SA/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/ar-SA/full_description.txt b/fastlane/metadata/android/ar-SA/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/ar-SA/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/ar-SA/short_description.txt b/fastlane/metadata/android/ar-SA/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/ar-SA/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/ar-SA/title.txt b/fastlane/metadata/android/ar-SA/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/ar-SA/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/bn-BD/changelogs/1.txt b/fastlane/metadata/android/bn-BD/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/bn-BD/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/bn-BD/full_description.txt b/fastlane/metadata/android/bn-BD/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/bn-BD/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/bn-BD/short_description.txt b/fastlane/metadata/android/bn-BD/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/bn-BD/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/bn-BD/title.txt b/fastlane/metadata/android/bn-BD/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/bn-BD/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/de-DE/changelogs/1.txt b/fastlane/metadata/android/de-DE/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/de-DE/full_description.txt b/fastlane/metadata/android/de-DE/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/de-DE/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/de-DE/short_description.txt b/fastlane/metadata/android/de-DE/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/de-DE/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/de-DE/title.txt b/fastlane/metadata/android/de-DE/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/de-DE/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/el-GR/changelogs/1.txt b/fastlane/metadata/android/el-GR/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/el-GR/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/el-GR/full_description.txt b/fastlane/metadata/android/el-GR/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/el-GR/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/el-GR/short_description.txt b/fastlane/metadata/android/el-GR/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/el-GR/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/el-GR/title.txt b/fastlane/metadata/android/el-GR/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/el-GR/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt index 4435576..7fe5c10 100644 --- a/fastlane/metadata/android/en-US/full_description.txt +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -1,14 +1,16 @@ -LedgerLearn is a multilingual accounting education app designed specifically for accounting beginners in Chinese Mainland. It teaches double-entry bookkeeping through hands-on simulation — write vouchers, query ledgers, run trial balances, and generate financial statements following China's Accounting Standards for Business Enterprises (ASBE). +LedgerLearn is a multilingual accounting education app designed specifically for accounting beginners in Chinese Mainland. -IMPORTANT: This app is tailored for accounting practices of Chinese Mainland. The chart of accounts, accounting standards, and knowledge content are based on Chinese regulations. It may not apply to other jurisdictions. +IMPORTANT: This app is tailored for accounting practices of Chinese Mainland. Features: -• Voucher Management — Create, edit, and delete journal vouchers with dynamic entry rows and debit/credit balance validation following Chinese accounting conventions. -• Chart of Accounts — 59 preset standard accounts categorized by Assets, Liabilities, Equity, Cost, Profit & Loss per China's ASBE classification. +• Credential management — creating/edit/delete account certificates, dynamic entry lines, loan balance checks, providing 4 common business templates. +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 • General & Subsidiary Ledgers — Account-summary view and per-voucher drill-down with Chinese-standard formatting. • Financial Statements — Trial Balance, Income Statement, and Balance Sheet with educational annotations explaining Chinese accounting principles. -• Knowledge Base — 74 trilingual knowledge cards covering Chinese accounting practice and economic law, rendered in Markdown. Supports remote updates. +• Knowledge Base — 74 trilingual knowledge cards covering Chinese accounting practice and economic law, rendered in Markdown. • Export — Export vouchers, ledgers, trial balances, income statements, and balance sheets to CSV or PDF. • Settings — Real-time language switching (Chinese/English/Korean), light/dark/system theme, and data reset. Built with Flutter and GetX. Offline-first with local storage — no account registration needed. + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/fa-IR/changelogs/1.txt b/fastlane/metadata/android/fa-IR/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/fa-IR/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/fa-IR/full_description.txt b/fastlane/metadata/android/fa-IR/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/fa-IR/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/fa-IR/short_description.txt b/fastlane/metadata/android/fa-IR/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/fa-IR/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/fa-IR/title.txt b/fastlane/metadata/android/fa-IR/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/fa-IR/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/fr-FR/changelogs/1.txt b/fastlane/metadata/android/fr-FR/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/fr-FR/full_description.txt b/fastlane/metadata/android/fr-FR/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/fr-FR/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/fr-FR/short_description.txt b/fastlane/metadata/android/fr-FR/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/fr-FR/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/fr-FR/title.txt b/fastlane/metadata/android/fr-FR/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/fr-FR/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/he-IL/changelogs/1.txt b/fastlane/metadata/android/he-IL/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/he-IL/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/he-IL/full_description.txt b/fastlane/metadata/android/he-IL/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/he-IL/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/he-IL/short_description.txt b/fastlane/metadata/android/he-IL/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/he-IL/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/he-IL/title.txt b/fastlane/metadata/android/he-IL/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/he-IL/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/hi-IN/changelogs/1.txt b/fastlane/metadata/android/hi-IN/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/hi-IN/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/hi-IN/full_description.txt b/fastlane/metadata/android/hi-IN/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/hi-IN/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/hi-IN/short_description.txt b/fastlane/metadata/android/hi-IN/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/hi-IN/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/hi-IN/title.txt b/fastlane/metadata/android/hi-IN/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/hi-IN/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/id-ID/changelogs/1.txt b/fastlane/metadata/android/id-ID/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/id-ID/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/id-ID/full_description.txt b/fastlane/metadata/android/id-ID/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/id-ID/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/id-ID/short_description.txt b/fastlane/metadata/android/id-ID/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/id-ID/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/id-ID/title.txt b/fastlane/metadata/android/id-ID/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/id-ID/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/it-IT/changelogs/1.txt b/fastlane/metadata/android/it-IT/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/it-IT/full_description.txt b/fastlane/metadata/android/it-IT/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/it-IT/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/it-IT/short_description.txt b/fastlane/metadata/android/it-IT/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/it-IT/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/it-IT/title.txt b/fastlane/metadata/android/it-IT/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/it-IT/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/ja-JP/changelogs/1.txt b/fastlane/metadata/android/ja-JP/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/ja-JP/full_description.txt b/fastlane/metadata/android/ja-JP/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/ja-JP/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/ja-JP/short_description.txt b/fastlane/metadata/android/ja-JP/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/ja-JP/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/ja-JP/title.txt b/fastlane/metadata/android/ja-JP/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/ja-JP/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/ko-KR/changelogs/1.txt b/fastlane/metadata/android/ko-KR/changelogs/1.txt index 66bdc8a..33dbc13 100644 --- a/fastlane/metadata/android/ko-KR/changelogs/1.txt +++ b/fastlane/metadata/android/ko-KR/changelogs/1.txt @@ -1,5 +1,5 @@ 첫 출시: -- 차변/대변 검증이 포함된 전표 관리 +- 凭证管理,支持借贷平衡校验 - 59개 사전 설정 표준 회계 계정 - 총계정원장 및 보조원장 보기 - 시산표, 손익계산서, 대차대조표 diff --git a/fastlane/metadata/android/ko-KR/full_description.txt b/fastlane/metadata/android/ko-KR/full_description.txt index 4b32525..45b1cfb 100644 --- a/fastlane/metadata/android/ko-KR/full_description.txt +++ b/fastlane/metadata/android/ko-KR/full_description.txt @@ -1,9 +1,9 @@ -LedgerLearn은 중국 본토 회계 초보자를 위해 설계된 다국어 회계 입문 학습 앱입니다. 전표 입력, 총계정원장/보조원장 조회, 시산표 작성, 재무제표 생성 등 완전한 회계 기장 프로세스를 시뮬레이션하고, 회계 실무 및 경제법 지식을 조작 과정에 통합하여 '실습을 통한 학습'을 실현합니다. +LedgerLearn은 중국 본토 회계 초보자를 위해 설계된 다국어 회계 입문 학습 앱입니다. ⚠️ 중요: 이 앱은 중국 본토의 회계 학습 시나리오에 맞춰져 있으며, 계정 체계, 회계 기준 및 지식 내용은 중국 기업회계준칙(ASBE)을 기반으로 합니다. 다른 지역에는 적용되지 않을 수 있습니다. 기능: -• 전표 관리 — 동적 분개 라인과 차변/대변 균형 검증이 포함된 전표 생성/편집/삭제, 4가지 일반 비즈니스 템플릿 제공. +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 • 회계 계정 — 59개 사전 설정 표준 계정(자산/부채/자본/원가/손익), 중국 ASBE 분류에 따름, 사용자 정의 계정 지원. • 총계정원장/보조원장 — 계정별 요약 보기 및 거래별 상세 보기, 중국 회계 장부 형식에 맞춤. • 재무제표 — 교육용 주석이 포함된 시산표, 손익계산서, 대차대조표, 중국 회계 원리 설명. diff --git a/fastlane/metadata/android/lo-LA/changelogs/1.txt b/fastlane/metadata/android/lo-LA/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/lo-LA/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/lo-LA/full_description.txt b/fastlane/metadata/android/lo-LA/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/lo-LA/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/lo-LA/short_description.txt b/fastlane/metadata/android/lo-LA/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/lo-LA/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/lo-LA/title.txt b/fastlane/metadata/android/lo-LA/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/lo-LA/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/my-MM/changelogs/1.txt b/fastlane/metadata/android/my-MM/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/my-MM/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/my-MM/full_description.txt b/fastlane/metadata/android/my-MM/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/my-MM/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/my-MM/short_description.txt b/fastlane/metadata/android/my-MM/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/my-MM/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/my-MM/title.txt b/fastlane/metadata/android/my-MM/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/my-MM/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/pl-PL/changelogs/1.txt b/fastlane/metadata/android/pl-PL/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/pl-PL/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/pl-PL/full_description.txt b/fastlane/metadata/android/pl-PL/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/pl-PL/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/pl-PL/short_description.txt b/fastlane/metadata/android/pl-PL/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/pl-PL/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/pl-PL/title.txt b/fastlane/metadata/android/pl-PL/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/pl-PL/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/ru-RU/changelogs/1.txt b/fastlane/metadata/android/ru-RU/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/ru-RU/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/ru-RU/full_description.txt b/fastlane/metadata/android/ru-RU/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/ru-RU/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/ru-RU/short_description.txt b/fastlane/metadata/android/ru-RU/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/ru-RU/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/ru-RU/title.txt b/fastlane/metadata/android/ru-RU/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/ru-RU/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/th-TH/changelogs/1.txt b/fastlane/metadata/android/th-TH/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/th-TH/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/th-TH/full_description.txt b/fastlane/metadata/android/th-TH/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/th-TH/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/th-TH/short_description.txt b/fastlane/metadata/android/th-TH/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/th-TH/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/th-TH/title.txt b/fastlane/metadata/android/th-TH/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/th-TH/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/tr-TR/changelogs/1.txt b/fastlane/metadata/android/tr-TR/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/tr-TR/full_description.txt b/fastlane/metadata/android/tr-TR/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/tr-TR/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/tr-TR/short_description.txt b/fastlane/metadata/android/tr-TR/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/tr-TR/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/tr-TR/title.txt b/fastlane/metadata/android/tr-TR/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/tr-TR/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/ug-CN/changelogs/1.txt b/fastlane/metadata/android/ug-CN/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/ug-CN/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/ug-CN/full_description.txt b/fastlane/metadata/android/ug-CN/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/ug-CN/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/ug-CN/short_description.txt b/fastlane/metadata/android/ug-CN/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/ug-CN/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/ug-CN/title.txt b/fastlane/metadata/android/ug-CN/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/ug-CN/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/fastlane/metadata/android/zh-TW/changelogs/1.txt b/fastlane/metadata/android/zh-TW/changelogs/1.txt new file mode 100644 index 0000000..09b4fcf --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/1.txt @@ -0,0 +1,9 @@ +首次发布: +- 凭证管理,支持借贷平衡校验 +- 59 个预置标准会计科目 +- 总账与明细账视图 +- 试算平衡表、利润表、资产负债表 +- 74 条三语知识卡片,支持 Markdown 渲染 +- 支持 CSV/PDF 导出 +- 中/英/韩三种语言支持 +- 浅色/深色/跟随系统主题模式 diff --git a/fastlane/metadata/android/zh-TW/full_description.txt b/fastlane/metadata/android/zh-TW/full_description.txt new file mode 100644 index 0000000..5732bbd --- /dev/null +++ b/fastlane/metadata/android/zh-TW/full_description.txt @@ -0,0 +1,16 @@ +LedgerLearn 是一款面向中国内地会计初学者的多语言会计入门学习应用。通过模拟完整的会计记账流程——凭证录入、总账/明细账查询、试算平衡、财务报表生成,并在操作中嵌入会计实务与经济法知识点,实现「做中学」。 + +⚠️ 重要说明:本程序专为中国内地的会计学习场景设计,科目体系、会计准则和知识内容均基于中国企业会计准则。可能不适用于其他地区。 + +功能特色: +• 凭证管理 — 新建/编辑/删除记账凭证,动态分录行,借贷平衡校验,提供 4 种常见业务模板。 +• 会计科目 — 59 个预置标准科目(资产/负债/权益/成本/损益),按中国企业会计准则分类,支持自定义科目。 +• 总账/明细账 — 按科目汇总的总账视图,按凭证逐笔展示的明细账视图,符合中国会计账簿格式。 +• 财务报表 — 试算平衡表、利润表、资产负债表,附教学解读,讲解中国会计核算原理。 +• 知识库 — 74 条三语知识卡片(会计实务 + 经济法),涵盖中国会计从业考点,支持 Markdown 渲染,支持远程更新。 +• 导出 — 凭证列表、总账/明细账、试算平衡表、利润表、资产负债表可导出为 CSV 或 PDF。 +• 设置 — 中/英/韩语言实时切换,浅色/深色/跟随系统主题,一键数据重置。 + +基于 Flutter 和 GetX 构建。离线优先,本地存储,无需注册账号。 + +翻译由 Crowdin 社区提供支持。 diff --git a/fastlane/metadata/android/zh-TW/short_description.txt b/fastlane/metadata/android/zh-TW/short_description.txt new file mode 100644 index 0000000..9ff48df --- /dev/null +++ b/fastlane/metadata/android/zh-TW/short_description.txt @@ -0,0 +1 @@ +面向中国内地会计初学者的交互式模拟学习应用——在实操中掌握借贷记账法 diff --git a/fastlane/metadata/android/zh-TW/title.txt b/fastlane/metadata/android/zh-TW/title.txt new file mode 100644 index 0000000..315882e --- /dev/null +++ b/fastlane/metadata/android/zh-TW/title.txt @@ -0,0 +1 @@ +LedgerLearn 记账学习 diff --git a/i18n/ar-SA.json b/i18n/ar-SA.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/ar-SA.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/bn-BD.json b/i18n/bn-BD.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/bn-BD.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/de-DE.json b/i18n/de-DE.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/de-DE.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/el-GR.json b/i18n/el-GR.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/el-GR.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/fa-IR.json b/i18n/fa-IR.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/fa-IR.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/fr-FR.json b/i18n/fr-FR.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/fr-FR.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/he-IL.json b/i18n/he-IL.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/he-IL.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/hi-IN.json b/i18n/hi-IN.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/hi-IN.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/id-ID.json b/i18n/id-ID.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/id-ID.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/it-IT.json b/i18n/it-IT.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/it-IT.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/ja-JP.json b/i18n/ja-JP.json index afdc800..8457a9a 100644 --- a/i18n/ja-JP.json +++ b/i18n/ja-JP.json @@ -1,93 +1,31 @@ { - "about_changelog": "変更履歴", - "about_license": "ライセンス", - "about_readme": "README", - "about_title": "このアプリについて", - "about_view_details": "詳細を見る", - "account_type_asset": "資産", - "account_type_cost": "原価", - "account_type_equity": "資本", - "account_type_expense": "費用", - "account_type_income": "収益", - "account_type_liability": "負債", - "accounts_add_custom": "カスタム科目を追加", - "accounts_all": "全科目", - "accounts_balance": "残高", - "accounts_category": "区分", - "accounts_code": "科目コード", - "accounts_credit_total": "貸方当期", - "accounts_debit_total": "借方当期", - "accounts_detail": "科目詳細", - "accounts_ending_balance": "期末残高", - "accounts_name": "科目名", - "accounts_name_hint": "科目名を入力", - "accounts_no_custom_delete": "システム科目は削除できません", - "accounts_opening_balance": "期首残高", - "accounts_related_knowledge": "関連知識", - "accounts_title": "勘定科目一覧", - "all": "すべて", - "app_full_name": "LedgerLearn", "app_name": "簿記学習", - "back": "戻る", - "balance": "残高", + "app_full_name": "LedgerLearn", + "ok": "OK", "cancel": "キャンセル", - "category_asset": "資産", - "category_cost": "原価", - "category_equity": "純資産", - "category_liability": "負債", - "category_pl": "損益", + "save": "保存", + "delete": "削除", + "edit": "編集", "close": "閉じる", + "back": "戻る", + "search": "検索", + "loading": "読み込み中...", + "no_data": "データなし", "confirm": "確認", "confirm_delete": "削除の確認", - "credit": "貸方", - "current_period": "当期発生額", - "debit": "借方", - "delete": "削除", - "edit": "編集", - "ending_balance": "期末残高", + "yes": "はい", + "no": "いいえ", + "success": "成功", "error": "エラー", - "home_balance_status": "試算表", - "home_balanced": "バランス済", - "home_check_unbalanced": "試算表がバランスしていません。伝票を確認してください!", - "home_credit_total": "貸方合計", - "home_debit_total": "借方合計", - "home_period": "現在の期", - "home_quick_accounts": "科目残高", - "home_quick_knowledge": "知識ベース", - "home_quick_voucher": "伝票入力", - "home_title": "簿記学習", - "home_unbalanced": "不均衡", - "home_voucher_count": "伝票数", - "knowledge_detail": "知識詳細", - "knowledge_law": "経済法", - "knowledge_practice": "会計実務", - "knowledge_related_account": "関連科目", - "knowledge_search_hint": "知識を検索...", - "knowledge_tax": "税務", - "knowledge_title": "知識ベース", - "ledger_account": "科目", - "ledger_balance": "残高", - "ledger_credit": "貸方", - "ledger_credit_amount": "貸方金額", - "ledger_date": "日付", - "ledger_debit": "借方", - "ledger_debit_amount": "借方金額", - "ledger_detail_for": "補助元帳 - {account}", - "ledger_detail_title": "補助元帳", - "ledger_direction_credit": "貸", - "ledger_direction_debit": "借", - "ledger_ending": "期末残高", - "ledger_explanation": "総勘定元帳は、勘定科目ごとに取引を要約した帳簿であり、各科目の一定期間における増減と残高を示します。財務諸表作成の主要な根拠となります。", - "ledger_opening": "期首残高", - "ledger_summary": "摘要", - "ledger_title": "総勘定元帳", - "ledger_voucher_no": "伝票番号", - "ledger_what_is": "総勘定元帳とは?", - "loading": "読み込み中...", + "warning": "警告", + "all": "すべて", + "about_title": "このアプリについて", + "about_readme": "README", + "about_changelog": "変更履歴", + "about_license": "ライセンス", + "about_view_details": "詳細を見る", + "total": "合計", "month_1": "1月", - "month_10": "10月", - "month_11": "11月", - "month_12": "12月", "month_2": "2月", "month_3": "3月", "month_4": "4月", @@ -96,129 +34,191 @@ "month_7": "7月", "month_8": "8月", "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", "month_selector": "月を選択", - "nav_accounts": "科目", "nav_home": "ホーム", - "nav_knowledge": "知識", + "nav_voucher": "伝票", + "nav_accounts": "科目", "nav_ledger": "元帳", "nav_reports": "レポート", + "nav_knowledge": "知識", "nav_settings": "設定", - "nav_voucher": "伝票", - "no": "いいえ", - "no_data": "データなし", - "ok": "OK", - "opening_balance": "期首残高", - "reports_account": "科目", - "reports_amount": "金額", - "reports_assets": "資産", - "reports_balance_hint": "貸借対照表は、ある時点における企業の財政状態を示します。資産 = 負債 + 純資産。", + "home_title": "簿記学習", + "home_period": "現在の期", + "home_voucher_count": "伝票数", + "home_debit_total": "借方合計", + "home_credit_total": "貸方合計", + "home_balance_status": "試算表", + "home_balanced": "バランス済", + "home_unbalanced": "不均衡", + "home_quick_voucher": "伝票入力", + "home_quick_accounts": "科目残高", + "home_quick_knowledge": "知識ベース", + "home_check_unbalanced": "試算表がバランスしていません。伝票を確認してください!", + "voucher_title": "伝票管理", + "voucher_new": "新規伝票", + "voucher_edit": "伝票を編集", + "voucher_list": "伝票一覧", + "voucher_number": "伝票番号", + "voucher_date": "日付", + "voucher_summary": "摘要", + "voucher_entries": "仕訳", + "voucher_add_entry": "分录を追加", + "voucher_remove_entry": "仕訳を削除", + "voucher_account": "科目", + "voucher_debit": "借方金額", + "voucher_credit": "貸方金額", + "voucher_direction": "方向", + "voucher_direction_debit": "借方", + "voucher_direction_credit": "貸方", + "voucher_amount": "金額", + "voucher_debit_total": "借方合計", + "voucher_credit_total": "貸方合計", + "voucher_balanced": "バランス済", + "voucher_unbalanced": "不均衡", + "voucher_balance_rule": "借方あれば貸方あり", + "voucher_balance_hint": "複式簿記の基本ルール:すべての取引は、ある勘定の借方と別の勘定の貸方に同額で記録されなければなりません。", + "voucher_save_success": "伝票が保存されました!", + "voucher_delete_success": "伝票が削除されました!", + "voucher_select_account": "科目を選択", + "voucher_search_account": "科目を検索...", + "voucher_filter_month": "月で絞り込み", + "voucher_templates": "取引テンプレート", + "voucher_template_cash_withdraw": "現金引出", + "voucher_template_cash_withdraw_desc": "銀行から現金を引出す", + "voucher_template_purchase": "原材料仕入", + "voucher_template_purchase_desc": "原材料を掛で仕入れる", + "voucher_template_sales": "商品販売", + "voucher_template_sales_desc": "商品を販売し、代金を銀行に預ける", + "voucher_template_reimburse": "旅費精算", + "voucher_template_reimburse_desc": "旅費を現金で精算する", + "voucher_knowledge_tip": "💡 ナレッジヒント", + "voucher_detail": "伝票詳細", + "voucher_no_entries": "少なくとも2つの仕訳を追加してください", + "voucher_summary_hint": "取引の摘要を入力", + "accounts_title": "勘定科目一覧", + "accounts_code": "科目コード", + "accounts_name": "科目名", + "accounts_balance": "残高", + "accounts_category": "区分", + "accounts_all": "全科目", + "accounts_detail": "科目詳細", + "accounts_opening_balance": "期首残高", + "accounts_debit_total": "借方当期", + "accounts_credit_total": "貸方当期", + "accounts_ending_balance": "期末残高", + "accounts_related_knowledge": "関連知識", + "accounts_add_custom": "カスタム科目を追加", + "accounts_name_hint": "科目名を入力", + "accounts_no_custom_delete": "システム科目は削除できません", + "category_asset": "資産", + "category_liability": "負債", + "category_equity": "純資産", + "category_cost": "原価", + "category_pl": "損益", + "subcategory_current_asset": "流動資産", + "subcategory_noncurrent_asset": "非流動資産", + "subcategory_current_liability": "流動負債", + "subcategory_noncurrent_liability": "非流動負債", + "subcategory_equity": "純資産", + "subcategory_cost": "原価", + "subcategory_income": "損益-収益", + "subcategory_expense": "損益-費用", + "ledger_title": "総勘定元帳", + "ledger_account": "科目", + "ledger_opening": "期首残高", + "ledger_debit": "借方", + "ledger_credit": "貸方", + "ledger_ending": "期末残高", + "ledger_detail_title": "補助元帳", + "ledger_detail_for": "補助元帳 - {account}", + "ledger_date": "日付", + "ledger_voucher_no": "伝票番号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金額", + "ledger_credit_amount": "貸方金額", + "ledger_balance": "残高", + "ledger_direction_debit": "借", + "ledger_direction_credit": "貸", + "ledger_what_is": "総勘定元帳とは?", + "ledger_explanation": "総勘定元帳は、勘定科目ごとに取引を要約した帳簿であり、各科目の一定期間における増減と残高を示します。財務諸表作成の主要な根拠となります。", + "reports_title": "財務諸表", + "reports_trial_balance": "試算表", + "reports_income_statement": "損益計算書", "reports_balance_sheet": "貸借対照表", - "reports_balanced": "均衡 ✓", - "reports_cost": "売上原価", - "reports_credit_current": "貸方当期", - "reports_credit_ending": "貸方期末", + "reports_account": "科目", + "reports_debit_opening": "借方期首", "reports_credit_opening": "貸方期首", - "reports_current_assets": "流動資産", - "reports_current_liabilities": "流動負債", "reports_debit_current": "借方当期", + "reports_credit_current": "貸方当期", "reports_debit_ending": "借方期末", - "reports_debit_opening": "借方期首", + "reports_credit_ending": "貸方期末", + "reports_total": "合計", + "reports_balanced": "均衡 ✓", + "reports_unbalanced": "不均衡 ✗", "reports_difference": "差額", - "reports_equity": "純資産", - "reports_expense": "費用", - "reports_how_to_read": "このレポートの見方", - "reports_income_hint": "損益計算書は、一定期間における企業の経営成績を示します。収益 - 費用 = 利益。", - "reports_income_statement": "損益計算書", "reports_item": "項目", - "reports_liabilities": "負債", + "reports_amount": "金額", + "reports_revenue": "売上高", + "reports_cost": "売上原価", + "reports_expense": "費用", + "reports_profit": "利益", "reports_net_profit": "純利益", + "reports_assets": "資産", + "reports_liabilities": "負債", + "reports_equity": "純資産", + "reports_current_assets": "流動資産", "reports_noncurrent_assets": "非流動資産", + "reports_current_liabilities": "流動負債", "reports_noncurrent_liabilities": "非流動負債", - "reports_profit": "利益", - "reports_revenue": "売上高", - "reports_title": "財務諸表", - "reports_total": "合計", "reports_total_assets": "資産合計", "reports_total_liabilities_equity": "負債及び純資産合計", - "reports_trial_balance": "試算表", + "reports_how_to_read": "このレポートの見方", "reports_trial_balance_hint": "試算表は、すべての勘定の借方と貸方の合計が一致するかを確認するツールです。一致しない場合は記録エラーがあります。", - "reports_unbalanced": "不均衡 ✗", - "save": "保存", - "search": "検索", - "settings_about": "このアプリについて", - "settings_data": "データ管理", + "reports_income_hint": "損益計算書は、一定期間における企業の経営成績を示します。収益 - 費用 = 利益。", + "reports_balance_hint": "貸借対照表は、ある時点における企業の財政状態を示します。資産 = 負債 + 純資産。", + "knowledge_title": "知識ベース", + "knowledge_practice": "会計実務", + "knowledge_law": "経済法", + "knowledge_tax": "税務", + "knowledge_search_hint": "知識を検索...", + "knowledge_detail": "知識詳細", + "knowledge_related_account": "関連科目", + "settings_title": "設定", "settings_language": "言語", + "settings_language_zh": "中文", "settings_language_en": "English", "settings_language_ko": "한국어", - "settings_language_zh": "中文", "settings_period": "デフォルトの期", - "settings_progress": "学習進捗", - "settings_reset_confirm": "すべてのデータをリセットしますか?すべての伝票が削除され、デフォルトの科目と知識カードが復元されます。", + "settings_data": "データ管理", "settings_reset_data": "データをリセット", + "settings_reset_confirm": "すべてのデータをリセットしますか?すべての伝票が削除され、デフォルトの科目と知識カードが復元されます。", "settings_reset_success": "データがリセットされました", - "settings_title": "設定", + "settings_about": "このアプリについて", "settings_version": "バージョン", - "subcategory_cost": "原価", - "subcategory_current_asset": "流動資産", - "subcategory_current_liability": "流動負債", - "subcategory_equity": "純資産", - "subcategory_expense": "損益-費用", - "subcategory_income": "損益-収益", - "subcategory_noncurrent_asset": "非流動資産", - "subcategory_noncurrent_liability": "非流動負債", - "success": "成功", + "settings_progress": "学習進捗", + "theme_title": "テーマ", + "theme_mode_system": "システムに従う", + "theme_mode_light": "ライトモード", + "theme_mode_dark": "ダークモード", "theme_color": "配色", "theme_color_blue": "オーシャンブルー", "theme_color_green": "フォレストグリーン", - "theme_color_orange": "ウォームオレンジ", "theme_color_purple": "バイオレット", + "theme_color_orange": "ウォームオレンジ", "theme_color_teal": "ティール", - "theme_mode_dark": "ダークモード", - "theme_mode_light": "ライトモード", - "theme_mode_system": "システムに従う", - "theme_title": "テーマ", - "total": "合計", - "voucher_account": "科目", - "voucher_add_entry": "分录を追加", - "voucher_amount": "金額", - "voucher_balance_hint": "複式簿記の基本ルール:すべての取引は、ある勘定の借方と別の勘定の貸方に同額で記録されなければなりません。", - "voucher_balance_rule": "借方あれば貸方あり", - "voucher_balanced": "バランス済", - "voucher_credit": "貸方金額", - "voucher_credit_total": "貸方合計", - "voucher_date": "日付", - "voucher_debit": "借方金額", - "voucher_debit_total": "借方合計", - "voucher_delete_success": "伝票が削除されました!", - "voucher_detail": "伝票詳細", - "voucher_direction": "方向", - "voucher_direction_credit": "貸方", - "voucher_direction_debit": "借方", - "voucher_edit": "伝票を編集", - "voucher_entries": "仕訳", - "voucher_filter_month": "月で絞り込み", - "voucher_knowledge_tip": "💡 ナレッジヒント", - "voucher_list": "伝票一覧", - "voucher_new": "新規伝票", - "voucher_no_entries": "少なくとも2つの仕訳を追加してください", - "voucher_number": "伝票番号", - "voucher_remove_entry": "仕訳を削除", - "voucher_save_success": "伝票が保存されました!", - "voucher_search_account": "科目を検索...", - "voucher_select_account": "科目を選択", - "voucher_summary": "摘要", - "voucher_summary_hint": "取引の摘要を入力", - "voucher_template_cash_withdraw": "現金引出", - "voucher_template_cash_withdraw_desc": "銀行から現金を引出す", - "voucher_template_purchase": "原材料仕入", - "voucher_template_purchase_desc": "原材料を掛で仕入れる", - "voucher_template_reimburse": "旅費精算", - "voucher_template_reimburse_desc": "旅費を現金で精算する", - "voucher_template_sales": "商品販売", - "voucher_template_sales_desc": "商品を販売し、代金を銀行に預ける", - "voucher_templates": "取引テンプレート", - "voucher_title": "伝票管理", - "voucher_unbalanced": "不均衡", - "warning": "警告", - "yes": "はい" + "account_type_asset": "資産", + "account_type_liability": "負債", + "account_type_equity": "資本", + "account_type_cost": "原価", + "account_type_income": "収益", + "account_type_expense": "費用", + "debit": "借方", + "credit": "貸方", + "balance": "残高", + "opening_balance": "期首残高", + "current_period": "当期発生額", + "ending_balance": "期末残高" } diff --git a/i18n/lo-LA.json b/i18n/lo-LA.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/lo-LA.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/my-MM.json b/i18n/my-MM.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/my-MM.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/pl-PL.json b/i18n/pl-PL.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/pl-PL.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/ru-RU.json b/i18n/ru-RU.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/ru-RU.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/th-TH.json b/i18n/th-TH.json index ad22006..25f6c04 100644 --- a/i18n/th-TH.json +++ b/i18n/th-TH.json @@ -1,93 +1,31 @@ { - "about_changelog": "บันทึกการเปลี่ยนแปลง", - "about_license": "สัญญาอนุญาต", - "about_readme": "README", - "about_title": "เกี่ยวกับ", - "about_view_details": "ดูรายละเอียด", - "account_type_asset": "สินทรัพย์", - "account_type_cost": "ต้นทุน", - "account_type_equity": "ส่วนของเจ้าของ", - "account_type_expense": "ค่าใช้จ่าย", - "account_type_income": "รายได้", - "account_type_liability": "หนี้สิน", - "accounts_add_custom": "เพิ่มบัญชีที่กำหนดเอง", - "accounts_all": "บัญชีทั้งหมด", - "accounts_balance": "ยอดคงเหลือ", - "accounts_category": "หมวดหมู่", - "accounts_code": "รหัสบัญชี", - "accounts_credit_total": "เครดิตงวดนี้", - "accounts_debit_total": "เดบิตงวดนี้", - "accounts_detail": "รายละเอียดบัญชี", - "accounts_ending_balance": "ยอดยกไป", - "accounts_name": "ชื่อบัญชี", - "accounts_name_hint": "ป้อนชื่อบัญชี", - "accounts_no_custom_delete": "ไม่สามารถลบบัญชีระบบได้", - "accounts_opening_balance": "ยอดยกมา", - "accounts_related_knowledge": "ความรู้ที่เกี่ยวข้อง", - "accounts_title": "ผังบัญชี", - "all": "ทั้งหมด", - "app_full_name": "LedgerLearn", "app_name": "เรียนรู้การทำบัญชี", - "back": "กลับ", - "balance": "ยอดคงเหลือ", + "app_full_name": "LedgerLearn", + "ok": "ตกลง", "cancel": "ยกเลิก", - "category_asset": "สินทรัพย์", - "category_cost": "ต้นทุน", - "category_equity": "ส่วนของเจ้าของ", - "category_liability": "หนี้สิน", - "category_pl": "กำไรขาดทุน", + "save": "บันทึก", + "delete": "ลบ", + "edit": "แก้ไข", "close": "ปิด", + "back": "กลับ", + "search": "ค้นหา", + "loading": "กำลังโหลด...", + "no_data": "ไม่มีข้อมูล", "confirm": "ยืนยัน", "confirm_delete": "ยืนยันการลบ", - "credit": "เครดิต", - "current_period": "ยอดเคลื่อนไหวงวดนี้", - "debit": "เดบิต", - "delete": "ลบ", - "edit": "แก้ไข", - "ending_balance": "ยอดยกไป", + "yes": "ใช่", + "no": "ไม่", + "success": "สำเร็จ", "error": "ข้อผิดพลาด", - "home_balance_status": "งบทดลอง", - "home_balanced": "สมดุล", - "home_check_unbalanced": "งบทดลองไม่สมดุล! กรุณาตรวจสอบใบสำคัญ!", - "home_credit_total": "รวมเครดิต", - "home_debit_total": "รวมเดบิต", - "home_period": "งวดปัจจุบัน", - "home_quick_accounts": "ยอดคงเหลือบัญชี", - "home_quick_knowledge": "ฐานความรู้", - "home_quick_voucher": "บันทึกใบสำคัญ", - "home_title": "เรียนรู้การทำบัญชี", - "home_unbalanced": "ไม่สมดุล", - "home_voucher_count": "จำนวนใบสำคัญ", - "knowledge_detail": "รายละเอียดความรู้", - "knowledge_law": "กฎหมายเศรษฐกิจ", - "knowledge_practice": "ปฏิบัติการบัญชี", - "knowledge_related_account": "บัญชีที่เกี่ยวข้อง", - "knowledge_search_hint": "ค้นหาความรู้...", - "knowledge_tax": "ภาษี", - "knowledge_title": "ฐานความรู้", - "ledger_account": "บัญชี", - "ledger_balance": "ยอดคงเหลือ", - "ledger_credit": "เครดิต", - "ledger_credit_amount": "จำนวนเงินเครดิต", - "ledger_date": "วันที่", - "ledger_debit": "เดบิต", - "ledger_debit_amount": "จำนวนเงินเดบิต", - "ledger_detail_for": "บัญชีแยกประเภท - {account}", - "ledger_detail_title": "บัญชีแยกประเภท", - "ledger_direction_credit": "เครดิต", - "ledger_direction_debit": "เดบิต", - "ledger_ending": "ยอดยกไป", - "ledger_explanation": "บัญชีแยกประเภททั่วไปคือการสรุปรายการทางบัญชีตามบัญชีแต่ละบัญชี แสดงการเปลี่ยนแปลงและยอดคงเหลือของแต่ละบัญชีในช่วงเวลาหนึ่ง เป็นพื้นฐานหลักในการจัดทำงบการเงิน", - "ledger_opening": "ยอดยกมา", - "ledger_summary": "สรุป", - "ledger_title": "บัญชีแยกประเภททั่วไป", - "ledger_voucher_no": "เลขที่ใบสำคัญ", - "ledger_what_is": "บัญชีแยกประเภททั่วไปคืออะไร?", - "loading": "กำลังโหลด...", + "warning": "คำเตือน", + "all": "ทั้งหมด", + "about_title": "เกี่ยวกับ", + "about_readme": "README", + "about_changelog": "บันทึกการเปลี่ยนแปลง", + "about_license": "สัญญาอนุญาต", + "about_view_details": "ดูรายละเอียด", + "total": "รวม", "month_1": "ม.ค.", - "month_10": "ต.ค.", - "month_11": "พ.ย.", - "month_12": "ธ.ค.", "month_2": "ก.พ.", "month_3": "มี.ค.", "month_4": "เม.ย.", @@ -96,129 +34,191 @@ "month_7": "ก.ค.", "month_8": "ส.ค.", "month_9": "ก.ย.", + "month_10": "ต.ค.", + "month_11": "พ.ย.", + "month_12": "ธ.ค.", "month_selector": "เลือกเดือน", - "nav_accounts": "บัญชี", "nav_home": "หน้าแรก", - "nav_knowledge": "ความรู้", + "nav_voucher": "ใบสำคัญ", + "nav_accounts": "บัญชี", "nav_ledger": "บัญชีแยกประเภท", "nav_reports": "รายงาน", + "nav_knowledge": "ความรู้", "nav_settings": "ตั้งค่า", - "nav_voucher": "ใบสำคัญ", - "no": "ไม่", - "no_data": "ไม่มีข้อมูล", - "ok": "ตกลง", - "opening_balance": "ยอดยกมา", - "reports_account": "บัญชี", - "reports_amount": "จำนวนเงิน", - "reports_assets": "สินทรัพย์", - "reports_balance_hint": "งบดุลแสดงฐานะการเงิน ณ จุดเวลาใดเวลาหนึ่ง สินทรัพย์ = หนี้สิน + ส่วนของเจ้าของ", + "home_title": "เรียนรู้การทำบัญชี", + "home_period": "งวดปัจจุบัน", + "home_voucher_count": "จำนวนใบสำคัญ", + "home_debit_total": "รวมเดบิต", + "home_credit_total": "รวมเครดิต", + "home_balance_status": "งบทดลอง", + "home_balanced": "สมดุล", + "home_unbalanced": "ไม่สมดุล", + "home_quick_voucher": "บันทึกใบสำคัญ", + "home_quick_accounts": "ยอดคงเหลือบัญชี", + "home_quick_knowledge": "ฐานความรู้", + "home_check_unbalanced": "งบทดลองไม่สมดุล! กรุณาตรวจสอบใบสำคัญ!", + "voucher_title": "จัดการใบสำคัญ", + "voucher_new": "ใบสำคัญใหม่", + "voucher_edit": "แก้ไขใบสำคัญ", + "voucher_list": "รายการใบสำคัญ", + "voucher_number": "เลขที่ใบสำคัญ", + "voucher_date": "วันที่", + "voucher_summary": "สรุป", + "voucher_entries": "รายการ", + "voucher_add_entry": "เพิ่มรายการ", + "voucher_remove_entry": "ลบรายการ", + "voucher_account": "บัญชี", + "voucher_debit": "จำนวนเงินเดบิต", + "voucher_credit": "จำนวนเงินเครดิต", + "voucher_direction": "ทิศทาง", + "voucher_direction_debit": "เดบิต", + "voucher_direction_credit": "เครดิต", + "voucher_amount": "จำนวนเงิน", + "voucher_debit_total": "รวมเดบิต", + "voucher_credit_total": "รวมเครดิต", + "voucher_balanced": "สมดุล", + "voucher_unbalanced": "ไม่สมดุล", + "voucher_balance_rule": "เดบิตต้องมีเครดิตเท่ากัน", + "voucher_balance_hint": "หลักการพื้นฐานของการบัญชีคู่: ทุกรายการต้องบันทึกเป็นเดบิตในบัญชีหนึ่งและเครดิตในอีกบัญชีหนึ่งด้วยจำนวนเงินที่เท่ากัน", + "voucher_save_success": "บันทึกใบสำคัญสำเร็จ!", + "voucher_delete_success": "ลบใบสำคัญสำเร็จ!", + "voucher_select_account": "เลือกบัญชี", + "voucher_search_account": "ค้นหาบัญชี...", + "voucher_filter_month": "กรองตามเดือน", + "voucher_templates": "แม่แบบรายการ", + "voucher_template_cash_withdraw": "ถอนเงินสด", + "voucher_template_cash_withdraw_desc": "ถอนเงินสดจากธนาคาร", + "voucher_template_purchase": "ซื้อวัตถุดิบ", + "voucher_template_purchase_desc": "ซื้อวัตถุดิบแบบเครดิต", + "voucher_template_sales": "ขายสินค้า", + "voucher_template_sales_desc": "ขายสินค้า นำฝากธนาคาร", + "voucher_template_reimburse": "เบิกค่าเดินทาง", + "voucher_template_reimburse_desc": "เบิกค่าเดินทางเป็นเงินสด", + "voucher_knowledge_tip": "💡 เคล็ดลับความรู้", + "voucher_detail": "รายละเอียดใบสำคัญ", + "voucher_no_entries": "กรุณาเพิ่มอย่างน้อยสองรายการ", + "voucher_summary_hint": "ป้อนสรุปรายการ", + "accounts_title": "ผังบัญชี", + "accounts_code": "รหัสบัญชี", + "accounts_name": "ชื่อบัญชี", + "accounts_balance": "ยอดคงเหลือ", + "accounts_category": "หมวดหมู่", + "accounts_all": "บัญชีทั้งหมด", + "accounts_detail": "รายละเอียดบัญชี", + "accounts_opening_balance": "ยอดยกมา", + "accounts_debit_total": "เดบิตงวดนี้", + "accounts_credit_total": "เครดิตงวดนี้", + "accounts_ending_balance": "ยอดยกไป", + "accounts_related_knowledge": "ความรู้ที่เกี่ยวข้อง", + "accounts_add_custom": "เพิ่มบัญชีที่กำหนดเอง", + "accounts_name_hint": "ป้อนชื่อบัญชี", + "accounts_no_custom_delete": "ไม่สามารถลบบัญชีระบบได้", + "category_asset": "สินทรัพย์", + "category_liability": "หนี้สิน", + "category_equity": "ส่วนของเจ้าของ", + "category_cost": "ต้นทุน", + "category_pl": "กำไรขาดทุน", + "subcategory_current_asset": "สินทรัพย์หมุนเวียน", + "subcategory_noncurrent_asset": "สินทรัพย์ไม่หมุนเวียน", + "subcategory_current_liability": "หนี้สินหมุนเวียน", + "subcategory_noncurrent_liability": "หนี้สินไม่หมุนเวียน", + "subcategory_equity": "ส่วนของเจ้าของ", + "subcategory_cost": "ต้นทุน", + "subcategory_income": "กำไรขาดทุน - รายได้", + "subcategory_expense": "กำไรขาดทุน - ค่าใช้จ่าย", + "ledger_title": "บัญชีแยกประเภททั่วไป", + "ledger_account": "บัญชี", + "ledger_opening": "ยอดยกมา", + "ledger_debit": "เดบิต", + "ledger_credit": "เครดิต", + "ledger_ending": "ยอดยกไป", + "ledger_detail_title": "บัญชีแยกประเภท", + "ledger_detail_for": "บัญชีแยกประเภท - {account}", + "ledger_date": "วันที่", + "ledger_voucher_no": "เลขที่ใบสำคัญ", + "ledger_summary": "สรุป", + "ledger_debit_amount": "จำนวนเงินเดบิต", + "ledger_credit_amount": "จำนวนเงินเครดิต", + "ledger_balance": "ยอดคงเหลือ", + "ledger_direction_debit": "เดบิต", + "ledger_direction_credit": "เครดิต", + "ledger_what_is": "บัญชีแยกประเภททั่วไปคืออะไร?", + "ledger_explanation": "บัญชีแยกประเภททั่วไปคือการสรุปรายการทางบัญชีตามบัญชีแต่ละบัญชี แสดงการเปลี่ยนแปลงและยอดคงเหลือของแต่ละบัญชีในช่วงเวลาหนึ่ง เป็นพื้นฐานหลักในการจัดทำงบการเงิน", + "reports_title": "รายงานทางการเงิน", + "reports_trial_balance": "งบทดลอง", + "reports_income_statement": "งบกำไรขาดทุน", "reports_balance_sheet": "งบดุล", - "reports_balanced": "สมดุล ✓", - "reports_cost": "ต้นทุนขาย", - "reports_credit_current": "เครดิตงวดนี้", - "reports_credit_ending": "เครดิตปลายงวด", + "reports_account": "บัญชี", + "reports_debit_opening": "เดบิตต้นงวด", "reports_credit_opening": "เครดิตต้นงวด", - "reports_current_assets": "สินทรัพย์หมุนเวียน", - "reports_current_liabilities": "หนี้สินหมุนเวียน", "reports_debit_current": "เดบิตงวดนี้", + "reports_credit_current": "เครดิตงวดนี้", "reports_debit_ending": "เดบิตปลายงวด", - "reports_debit_opening": "เดบิตต้นงวด", + "reports_credit_ending": "เครดิตปลายงวด", + "reports_total": "รวม", + "reports_balanced": "สมดุล ✓", + "reports_unbalanced": "ไม่สมดุล ✗", "reports_difference": "ผลต่าง", - "reports_equity": "ส่วนของเจ้าของ", - "reports_expense": "ค่าใช้จ่าย", - "reports_how_to_read": "วิธีอ่านรายงานนี้?", - "reports_income_hint": "งบกำไรขาดทุนแสดงผลการดำเนินงานในช่วงเวลาหนึ่ง รายได้ - ค่าใช้จ่าย = กำไร", - "reports_income_statement": "งบกำไรขาดทุน", "reports_item": "รายการ", - "reports_liabilities": "หนี้สิน", + "reports_amount": "จำนวนเงิน", + "reports_revenue": "รายได้", + "reports_cost": "ต้นทุนขาย", + "reports_expense": "ค่าใช้จ่าย", + "reports_profit": "กำไร", "reports_net_profit": "กำไรสุทธิ", + "reports_assets": "สินทรัพย์", + "reports_liabilities": "หนี้สิน", + "reports_equity": "ส่วนของเจ้าของ", + "reports_current_assets": "สินทรัพย์หมุนเวียน", "reports_noncurrent_assets": "สินทรัพย์ไม่หมุนเวียน", + "reports_current_liabilities": "หนี้สินหมุนเวียน", "reports_noncurrent_liabilities": "หนี้สินไม่หมุนเวียน", - "reports_profit": "กำไร", - "reports_revenue": "รายได้", - "reports_title": "รายงานทางการเงิน", - "reports_total": "รวม", "reports_total_assets": "รวมสินทรัพย์", "reports_total_liabilities_equity": "รวมหนี้สินและส่วนของเจ้าของ", - "reports_trial_balance": "งบทดลอง", + "reports_how_to_read": "วิธีอ่านรายงานนี้?", "reports_trial_balance_hint": "งบทดลองเป็นเครื่องมือตรวจสอบว่าเดบิตและเครดิตของทุกบัญชีเท่ากันหรือไม่ หากไม่เท่ากันแสดงว่ามีข้อผิดพลาดในการบันทึก", - "reports_unbalanced": "ไม่สมดุล ✗", - "save": "บันทึก", - "search": "ค้นหา", - "settings_about": "เกี่ยวกับ", - "settings_data": "จัดการข้อมูล", + "reports_income_hint": "งบกำไรขาดทุนแสดงผลการดำเนินงานในช่วงเวลาหนึ่ง รายได้ - ค่าใช้จ่าย = กำไร", + "reports_balance_hint": "งบดุลแสดงฐานะการเงิน ณ จุดเวลาใดเวลาหนึ่ง สินทรัพย์ = หนี้สิน + ส่วนของเจ้าของ", + "knowledge_title": "ฐานความรู้", + "knowledge_practice": "ปฏิบัติการบัญชี", + "knowledge_law": "กฎหมายเศรษฐกิจ", + "knowledge_tax": "ภาษี", + "knowledge_search_hint": "ค้นหาความรู้...", + "knowledge_detail": "รายละเอียดความรู้", + "knowledge_related_account": "บัญชีที่เกี่ยวข้อง", + "settings_title": "ตั้งค่า", "settings_language": "ภาษา", + "settings_language_zh": "中文", "settings_language_en": "English", "settings_language_ko": "한국어", - "settings_language_zh": "中文", "settings_period": "งวดเริ่มต้น", - "settings_progress": "ความก้าวหน้า", - "settings_reset_confirm": "รีเซ็ตข้อมูลทั้งหมด? การดำเนินการนี้จะล้างใบสำคัญทั้งหมดและคืนค่าบัญชีเริ่มต้นและการ์ดความรู้", + "settings_data": "จัดการข้อมูล", "settings_reset_data": "รีเซ็ตข้อมูล", + "settings_reset_confirm": "รีเซ็ตข้อมูลทั้งหมด? การดำเนินการนี้จะล้างใบสำคัญทั้งหมดและคืนค่าบัญชีเริ่มต้นและการ์ดความรู้", "settings_reset_success": "รีเซ็ตข้อมูลเรียบร้อยแล้ว", - "settings_title": "ตั้งค่า", + "settings_about": "เกี่ยวกับ", "settings_version": "เวอร์ชัน", - "subcategory_cost": "ต้นทุน", - "subcategory_current_asset": "สินทรัพย์หมุนเวียน", - "subcategory_current_liability": "หนี้สินหมุนเวียน", - "subcategory_equity": "ส่วนของเจ้าของ", - "subcategory_expense": "กำไรขาดทุน - ค่าใช้จ่าย", - "subcategory_income": "กำไรขาดทุน - รายได้", - "subcategory_noncurrent_asset": "สินทรัพย์ไม่หมุนเวียน", - "subcategory_noncurrent_liability": "หนี้สินไม่หมุนเวียน", - "success": "สำเร็จ", + "settings_progress": "ความก้าวหน้า", + "theme_title": "ธีม", + "theme_mode_system": "ตามระบบ", + "theme_mode_light": "โหมดสว่าง", + "theme_mode_dark": "โหมดมืด", "theme_color": "โทนสี", "theme_color_blue": "สีฟ้าสมุทร", "theme_color_green": "สีเขียวป่า", - "theme_color_orange": "สีส้มอุ่น", "theme_color_purple": "สีม่วง", + "theme_color_orange": "สีส้มอุ่น", "theme_color_teal": "สีเขียวอมน้ำเงิน", - "theme_mode_dark": "โหมดมืด", - "theme_mode_light": "โหมดสว่าง", - "theme_mode_system": "ตามระบบ", - "theme_title": "ธีม", - "total": "รวม", - "voucher_account": "บัญชี", - "voucher_add_entry": "เพิ่มรายการ", - "voucher_amount": "จำนวนเงิน", - "voucher_balance_hint": "หลักการพื้นฐานของการบัญชีคู่: ทุกรายการต้องบันทึกเป็นเดบิตในบัญชีหนึ่งและเครดิตในอีกบัญชีหนึ่งด้วยจำนวนเงินที่เท่ากัน", - "voucher_balance_rule": "เดบิตต้องมีเครดิตเท่ากัน", - "voucher_balanced": "สมดุล", - "voucher_credit": "จำนวนเงินเครดิต", - "voucher_credit_total": "รวมเครดิต", - "voucher_date": "วันที่", - "voucher_debit": "จำนวนเงินเดบิต", - "voucher_debit_total": "รวมเดบิต", - "voucher_delete_success": "ลบใบสำคัญสำเร็จ!", - "voucher_detail": "รายละเอียดใบสำคัญ", - "voucher_direction": "ทิศทาง", - "voucher_direction_credit": "เครดิต", - "voucher_direction_debit": "เดบิต", - "voucher_edit": "แก้ไขใบสำคัญ", - "voucher_entries": "รายการ", - "voucher_filter_month": "กรองตามเดือน", - "voucher_knowledge_tip": "💡 เคล็ดลับความรู้", - "voucher_list": "รายการใบสำคัญ", - "voucher_new": "ใบสำคัญใหม่", - "voucher_no_entries": "กรุณาเพิ่มอย่างน้อยสองรายการ", - "voucher_number": "เลขที่ใบสำคัญ", - "voucher_remove_entry": "ลบรายการ", - "voucher_save_success": "บันทึกใบสำคัญสำเร็จ!", - "voucher_search_account": "ค้นหาบัญชี...", - "voucher_select_account": "เลือกบัญชี", - "voucher_summary": "สรุป", - "voucher_summary_hint": "ป้อนสรุปรายการ", - "voucher_template_cash_withdraw": "ถอนเงินสด", - "voucher_template_cash_withdraw_desc": "ถอนเงินสดจากธนาคาร", - "voucher_template_purchase": "ซื้อวัตถุดิบ", - "voucher_template_purchase_desc": "ซื้อวัตถุดิบแบบเครดิต", - "voucher_template_reimburse": "เบิกค่าเดินทาง", - "voucher_template_reimburse_desc": "เบิกค่าเดินทางเป็นเงินสด", - "voucher_template_sales": "ขายสินค้า", - "voucher_template_sales_desc": "ขายสินค้า นำฝากธนาคาร", - "voucher_templates": "แม่แบบรายการ", - "voucher_title": "จัดการใบสำคัญ", - "voucher_unbalanced": "ไม่สมดุล", - "warning": "คำเตือน", - "yes": "ใช่" + "account_type_asset": "สินทรัพย์", + "account_type_liability": "หนี้สิน", + "account_type_equity": "ส่วนของเจ้าของ", + "account_type_cost": "ต้นทุน", + "account_type_income": "รายได้", + "account_type_expense": "ค่าใช้จ่าย", + "debit": "เดบิต", + "credit": "เครดิต", + "balance": "ยอดคงเหลือ", + "opening_balance": "ยอดยกมา", + "current_period": "ยอดเคลื่อนไหวงวดนี้", + "ending_balance": "ยอดยกไป" } diff --git a/i18n/tr-TR.json b/i18n/tr-TR.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/tr-TR.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/ug-CN.json b/i18n/ug-CN.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/ug-CN.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/i18n/zh-TW.json b/i18n/zh-TW.json new file mode 100644 index 0000000..c120744 --- /dev/null +++ b/i18n/zh-TW.json @@ -0,0 +1,224 @@ +{ + "app_name": "记账学习", + "app_full_name": "LedgerLearn", + "ok": "确定", + "cancel": "取消", + "save": "保存", + "delete": "删除", + "edit": "编辑", + "close": "关闭", + "back": "返回", + "search": "搜索", + "loading": "加载中...", + "no_data": "暂无数据", + "confirm": "确认", + "confirm_delete": "确认删除", + "yes": "是", + "no": "否", + "success": "成功", + "error": "错误", + "warning": "警告", + "all": "全部", + "about_title": "关于", + "about_readme": "自述文件", + "about_changelog": "更新日志", + "about_license": "许可证", + "about_view_details": "查看详情", + "total": "合计", + "month_1": "1月", + "month_2": "2月", + "month_3": "3月", + "month_4": "4月", + "month_5": "5月", + "month_6": "6月", + "month_7": "7月", + "month_8": "8月", + "month_9": "9月", + "month_10": "10月", + "month_11": "11月", + "month_12": "12月", + "month_selector": "选择月份", + "nav_home": "首页", + "nav_voucher": "凭证", + "nav_accounts": "科目", + "nav_ledger": "账簿", + "nav_reports": "报表", + "nav_knowledge": "知识库", + "nav_settings": "设置", + "home_title": "记账学习", + "home_period": "当前账期", + "home_voucher_count": "本月凭证", + "home_debit_total": "借方合计", + "home_credit_total": "贷方合计", + "home_balance_status": "试算平衡", + "home_balanced": "平衡", + "home_unbalanced": "不平衡", + "home_quick_voucher": "录凭证", + "home_quick_accounts": "科目余额表", + "home_quick_knowledge": "知识库", + "home_check_unbalanced": "试算不平衡,请检查凭证!", + "voucher_title": "凭证管理", + "voucher_new": "新建凭证", + "voucher_edit": "编辑凭证", + "voucher_list": "凭证列表", + "voucher_number": "凭证号", + "voucher_date": "日期", + "voucher_summary": "摘要", + "voucher_entries": "分录", + "voucher_add_entry": "添加分录", + "voucher_remove_entry": "删除分录", + "voucher_account": "科目", + "voucher_debit": "借方金额", + "voucher_credit": "贷方金额", + "voucher_direction": "方向", + "voucher_direction_debit": "借", + "voucher_direction_credit": "贷", + "voucher_amount": "金额", + "voucher_debit_total": "借方合计", + "voucher_credit_total": "贷方合计", + "voucher_balanced": "借贷平衡", + "voucher_unbalanced": "借贷不平衡", + "voucher_balance_rule": "有借必有贷,借贷必相等", + "voucher_balance_hint": "借贷记账法的基本规则:每一笔经济业务,记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借贷金额必须相等。", + "voucher_save_success": "凭证保存成功!", + "voucher_delete_success": "凭证删除成功!", + "voucher_select_account": "选择科目", + "voucher_search_account": "搜索科目...", + "voucher_filter_month": "按月份筛选", + "voucher_templates": "常见业务模板", + "voucher_template_cash_withdraw": "提现", + "voucher_template_cash_withdraw_desc": "从银行提取现金", + "voucher_template_purchase": "采购原材料", + "voucher_template_purchase_desc": "购买原材料,价款未付", + "voucher_template_sales": "销售商品", + "voucher_template_sales_desc": "销售商品,款项存入银行", + "voucher_template_reimburse": "报销差旅费", + "voucher_template_reimburse_desc": "现金报销差旅费", + "voucher_knowledge_tip": "💡 知识小贴士", + "voucher_detail": "凭证详情", + "voucher_no_entries": "请至少添加两条分录", + "voucher_summary_hint": "请输入业务摘要", + "accounts_title": "会计科目", + "accounts_code": "科目编码", + "accounts_name": "科目名称", + "accounts_balance": "余额", + "accounts_category": "类别", + "accounts_all": "全部科目", + "accounts_detail": "科目详情", + "accounts_opening_balance": "期初余额", + "accounts_debit_total": "本期借方累计", + "accounts_credit_total": "本期贷方累计", + "accounts_ending_balance": "期末余额", + "accounts_related_knowledge": "相关知识点", + "accounts_add_custom": "添加自定义科目", + "accounts_name_hint": "请输入科目名称", + "accounts_no_custom_delete": "系统预置科目不可删除", + "category_asset": "资产类", + "category_liability": "负债类", + "category_equity": "所有者权益类", + "category_cost": "成本类", + "category_pl": "损益类", + "subcategory_current_asset": "流动资产", + "subcategory_noncurrent_asset": "非流动资产", + "subcategory_current_liability": "流动负债", + "subcategory_noncurrent_liability": "非流动负债", + "subcategory_equity": "所有者权益", + "subcategory_cost": "成本", + "subcategory_income": "损益-收入", + "subcategory_expense": "损益-费用", + "ledger_title": "总账", + "ledger_account": "科目", + "ledger_opening": "期初余额", + "ledger_debit": "借方", + "ledger_credit": "贷方", + "ledger_ending": "期末余额", + "ledger_detail_title": "明细账", + "ledger_detail_for": "明细账 - {account}", + "ledger_date": "日期", + "ledger_voucher_no": "凭证号", + "ledger_summary": "摘要", + "ledger_debit_amount": "借方金额", + "ledger_credit_amount": "贷方金额", + "ledger_balance": "余额", + "ledger_direction_debit": "借", + "ledger_direction_credit": "贷", + "ledger_what_is": "什么是总账?", + "ledger_explanation": "总账是按科目汇总的分类账,反映每个会计科目在一定时期内的增减变动和结余情况。它是编制财务报表的主要依据。", + "reports_title": "财务报表", + "reports_trial_balance": "试算平衡表", + "reports_income_statement": "利润表", + "reports_balance_sheet": "资产负债表", + "reports_account": "科目", + "reports_debit_opening": "借方期初", + "reports_credit_opening": "贷方期初", + "reports_debit_current": "借方本期", + "reports_credit_current": "贷方本期", + "reports_debit_ending": "借方期末", + "reports_credit_ending": "贷方期末", + "reports_total": "合计", + "reports_balanced": "平衡 ✓", + "reports_unbalanced": "不平衡 ✗", + "reports_difference": "差额", + "reports_item": "项目", + "reports_amount": "金额", + "reports_revenue": "营业收入", + "reports_cost": "营业成本", + "reports_expense": "费用", + "reports_profit": "利润", + "reports_net_profit": "净利润", + "reports_assets": "资产", + "reports_liabilities": "负债", + "reports_equity": "所有者权益", + "reports_current_assets": "流动资产", + "reports_noncurrent_assets": "非流动资产", + "reports_current_liabilities": "流动负债", + "reports_noncurrent_liabilities": "非流动负债", + "reports_total_assets": "资产总计", + "reports_total_liabilities_equity": "负债与所有者权益总计", + "reports_how_to_read": "如何看这张表?", + "reports_trial_balance_hint": "试算平衡表是检查所有账户借方和贷方是否相等的工具。如果借贷不平衡,说明记账有错误。", + "reports_income_hint": "利润表反映企业一定期间的经营成果。收入 - 费用 = 利润。", + "reports_balance_hint": "资产负债表反映企业某一时点的财务状况。资产 = 负债 + 所有者权益。", + "knowledge_title": "知识库", + "knowledge_practice": "会计实务", + "knowledge_law": "经济法", + "knowledge_tax": "税务", + "knowledge_search_hint": "搜索知识...", + "knowledge_detail": "知识详情", + "knowledge_related_account": "关联科目", + "settings_title": "设置", + "settings_language": "语言设置", + "settings_language_zh": "中文", + "settings_language_en": "English", + "settings_language_ko": "한국어", + "settings_period": "默认账期", + "settings_data": "数据管理", + "settings_reset_data": "重置数据", + "settings_reset_confirm": "确认重置所有数据?这将清除所有凭证并恢复预置科目和知识点。", + "settings_reset_success": "数据已重置", + "settings_about": "关于", + "settings_version": "版本", + "settings_progress": "学习进度", + "theme_title": "主题设置", + "theme_mode_system": "跟随系统", + "theme_mode_light": "浅色模式", + "theme_mode_dark": "深色模式", + "theme_color": "配色方案", + "theme_color_blue": "海蓝", + "theme_color_green": "翠绿", + "theme_color_purple": "紫罗兰", + "theme_color_orange": "暖橙", + "theme_color_teal": "青碧", + "account_type_asset": "资产", + "account_type_liability": "负债", + "account_type_equity": "权益", + "account_type_cost": "成本", + "account_type_income": "收入", + "account_type_expense": "费用", + "debit": "借", + "credit": "贷", + "balance": "余额", + "opening_balance": "期初余额", + "current_period": "本期发生额", + "ending_balance": "期末余额" +} diff --git a/knowledge_card/ar-SA.json b/knowledge_card/ar-SA.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/ar-SA.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/bn-BD.json b/knowledge_card/bn-BD.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/bn-BD.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/de-DE.json b/knowledge_card/de-DE.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/de-DE.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/el-GR.json b/knowledge_card/el-GR.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/el-GR.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/fa-IR.json b/knowledge_card/fa-IR.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/fa-IR.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/fr-FR.json b/knowledge_card/fr-FR.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/fr-FR.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/he-IL.json b/knowledge_card/he-IL.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/he-IL.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/hi-IN.json b/knowledge_card/hi-IN.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/hi-IN.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/id-ID.json b/knowledge_card/id-ID.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/id-ID.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/it-IT.json b/knowledge_card/it-IT.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/it-IT.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/lo-LA.json b/knowledge_card/lo-LA.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/lo-LA.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/my-MM.json b/knowledge_card/my-MM.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/my-MM.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/pl-PL.json b/knowledge_card/pl-PL.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/pl-PL.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/ru-RU.json b/knowledge_card/ru-RU.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/ru-RU.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/tr-TR.json b/knowledge_card/tr-TR.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/tr-TR.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/ug-CN.json b/knowledge_card/ug-CN.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/ug-CN.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file diff --git a/knowledge_card/zh-TW.json b/knowledge_card/zh-TW.json new file mode 100644 index 0000000..ef05be6 --- /dev/null +++ b/knowledge_card/zh-TW.json @@ -0,0 +1,594 @@ +[ + { + "id": "k1", + "category": "accounting_practice", + "title": "借贷记账法", + "content": "## 借贷记账法\n\n借贷记账法是现代会计的基本记账方法。\n\n### 核心规则:**有借必有贷,借贷必相等**\n\n每一笔经济业务,在记入一个账户借方的同时,必然记入另一个(或几个)账户的贷方,且借方金额与贷方金额相等。\n\n### 账户方向\n- **资产类、费用类**:增加记借方,减少记贷方,余额通常在借方\n- **负债类、权益类、收入类**:增加记贷方,减少记借方,余额通常在贷方\n\n### 示例\n企业从银行提取现金 5,000 元:\n- 借:库存现金 5,000(资产增加)\n- 贷:银行存款 5,000(资产减少)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k2", + "category": "accounting_practice", + "title": "会计基本等式", + "content": "## 会计基本等式\n\n### 静态等式(资产负债表基础)\n**资产 = 负债 + 所有者权益**\n\n这个等式反映企业某一时点的财务状况。等式左边是企业的资源(资产),右边是这些资源的来源(负债和所有者权益)。\n\n### 动态等式(利润表基础)\n**收入 - 费用 = 利润**\n\n反映企业一定期间的经营成果。\n\n### 扩展等式\n**资产 = 负债 + 所有者权益 + (收入 - 费用)**\n\n任何经济业务的发生都不会破坏会计等式的平衡关系。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k3", + "category": "accounting_practice", + "title": "常见会计分录示例", + "content": "## 常见会计分录\n\n### 1. 提取现金\n| 借 | 贷 |\n|---|---|\n| 库存现金 | 银行存款 |\n\n### 2. 采购原材料(款未付)\n| 借 | 贷 |\n|---|---|\n| 原材料 | 应付账款 |\n\n### 3. 销售商品(款存银行)\n| 借 | 贷 |\n|---|---|\n| 银行存款 | 主营业务收入 |\n\n### 4. 报销差旅费\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 库存现金 |\n\n### 5. 计提折旧\n| 借 | 贷 |\n|---|---|\n| 管理费用 | 累计折旧 |\n\n### 6. 支付工资\n| 借 | 贷 |\n|---|---|\n| 应付职工薪酬 | 银行存款 |\n\n### 7. 结转本年利润\n| 借 | 贷 |\n|---|---|\n| 主营业务收入 | 本年利润 |\n| 本年利润 | 主营业务成本 |\n| 本年利润 | 管理费用 |", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k4", + "category": "economic_law", + "title": "增值税简介", + "content": "## 增值税简介\n\n增值税(VAT)是对商品和服务在流转过程中产生的增值额征收的一种流转税。\n\n### 纳税人分类\n- **一般纳税人**:可以抵扣进项税额,适用一般计税方法\n- **小规模纳税人**:适用简易计税方法,征收率较低但不能抵扣\n\n### 税率(中国)\n- 基本税率:13%(销售货物、提供加工修理修配劳务)\n- 低税率:9%(农产品、水电气等)、6%(现代服务业)\n\n### 计税方法\n应纳增值税 = 当期销项税额 - 当期进项税额\n\n### 会计处理\n- 购进货物时:借:原材料 应交税费-应交增值税(进项税额) 贷:银行存款\n- 销售货物时:借:银行存款 贷:主营业务收入 应交税费-应交增值税(销项税额)", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k5", + "category": "economic_law", + "title": "合同法基本要点", + "content": "## 合同法基本要点\n\n### 合同的成立\n- **要约**:一方当事人向对方提出订立合同的意思表示\n- **承诺**:受要约人同意要约的意思表示\n- 合同自承诺生效时成立\n\n### 合同的主要条款\n1. 当事人的名称或姓名和住所\n2. 标的(合同涉及的对象)\n3. 数量\n4. 质量\n5. 价款或报酬\n6. 履行期限、地点和方式\n7. 违约责任\n8. 解决争议的方法\n\n### 合同的效力\n- **有效合同**:当事人具备相应能力、意思表示真实、内容合法\n- **无效合同**:欺诈胁迫损害国家利益、恶意串通、以合法形式掩盖非法目的等\n- **可撤销合同**:重大误解、显失公平、欺诈胁迫\n\n### 违约责任\n- 继续履行\n- 采取补救措施\n- 赔偿损失\n- 支付违约金", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k6", + "category": "accounting_practice", + "title": "期末结转步骤", + "content": "## 期末结转步骤\n\n### 第一步:结转收入类科目\n将所有收入类科目余额转入\"本年利润\"贷方:\n- 借:主营业务收入\n- 借:其他业务收入\n- 借:营业外收入\n-   贷:本年利润\n\n### 第二步:结转费用类科目\n将所有费用类科目余额转入\"本年利润\"借方:\n- 借:本年利润\n-   贷:主营业务成本\n-   贷:其他业务成本\n-   贷:税金及附加\n-   贷:销售费用\n-   贷:管理费用\n-   贷:财务费用\n-   贷:营业外支出\n-   贷:所得税费用\n\n### 第三步:结转本年利润\n- 盈利时:借:本年利润 贷:利润分配-未分配利润\n- 亏损时:借:利润分配-未分配利润 贷:本年利润\n\n### 第四步:提取盈余公积\n- 借:利润分配-提取盈余公积\n-   贷:盈余公积", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k7", + "category": "accounting_practice", + "title": "固定资产折旧", + "content": "## 固定资产折旧\n\n### 折旧方法\n1. **年限平均法(直线法)**:年折旧额 = (原值 - 残值) / 使用年限\n2. **工作量法**:按实际工作量计提\n3. **双倍余额递减法**:加速折旧方法\n4. **年数总和法**:加速折旧方法\n\n### 会计分录\n- 借:管理费用(或制造费用等)\n-   贷:累计折旧\n\n### 注意\n- 当月增加的固定资产,当月不计提折旧,下月起计提\n- 当月减少的固定资产,当月仍计提折旧,下月起停止\n- 累计折旧是固定资产的备抵科目,固定资产账面价值 = 原值 - 累计折旧", + "relatedAccountId": "1602", + "relatedSubject": null + }, + { + "id": "k8", + "category": "accounting_practice", + "title": "试算平衡原理", + "content": "## 试算平衡原理\n\n### 试算平衡表的作用\n验证所有账户的借方总额是否等于贷方总额。\n\n### 平衡依据\n1. **发生额平衡**:全部账户本期借方发生额合计 = 全部账户本期贷方发生额合计\n2. **余额平衡**:全部账户借方期末余额合计 = 全部账户贷方期末余额合计\n\n### 不平衡的原因\n- 记账方向错误(把借方记入贷方)\n- 金额记录错误(数字不一致)\n- 遗漏记账(只记了一方)\n- 计算错误(汇总时计算不准)\n\n### 注意事项\n试算平衡不代表完全正确!以下情况试算仍然平衡:\n- 借贷双方同时漏记或重记\n- 借贷双方同时记错科目\n- 借贷方向颠倒但金额相等", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k9", + "category": "economic_law", + "title": "会计档案保管期限", + "content": "## 会计档案保管期限\n\n### 永久保管\n- 年度财务报告(决算)\n- 会计档案保管清册\n- 会计档案销毁清册\n- 会计档案鉴定意见书\n\n### 保管 30 年\n- 会计凭证(原始凭证、记账凭证)\n- 会计账簿(总账、明细账、日记账)\n- 会计档案移交清册\n\n### 保管 10 年\n- 月度、季度、半年度财务报告\n- 银行存款余额调节表\n- 银行对账单\n- 纳税申报表\n\n### 法律责任\n故意销毁依法应当保存的会计凭证、会计账簿、财务会计报告,构成犯罪的,依法追究刑事责任。", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k10", + "category": "accounting_practice", + "title": "财务报表之间的关系", + "content": "## 财务报表之间的关系\n\n### 三大报表\n1. **资产负债表**:反映某一时点的财务状况(资产 = 负债 + 所有者权益)\n2. **利润表**:反映一定期间的经营成果(收入 - 费用 = 利润)\n3. **现金流量表**:反映现金及现金等价物的流入和流出\n\n### 报表间的勾稽关系\n- 利润表的**净利润** 转入 资产负债表的**未分配利润**\n- 资产负债表中**现金期初与期末余额**的差额 = 现金流量表的**现金净增加额**\n\n### 分析路径\n1. 先看利润表 → 了解盈利能力\n2. 再看资产负债表 → 了解财务结构和偿债能力\n3. 最后看现金流量表 → 了解现金来源和去向", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t1", + "category": "tax", + "title": "增值税详解", + "content": "## 增值税详解\n\n增值税是中国的第一大税种,对商品和服务在流转过程中产生的增值额征税。\n\n### 纳税人\n- **一般纳税人**:年应征增值税销售额 > 500万元,可抵扣进项税额\n- **小规模纳税人**:年销售额 ≤ 500万元,适用简易计税\n\n### 税率结构\n| 税率 | 适用范围 |\n|------|---------|\n| 13% | 销售货物、加工修理修配劳务、有形动产租赁 |\n| 9% | 农产品、水电气、图书、不动产、交通运输 |\n| 6% | 现代服务业、金融服务、生活服务 |\n| 0% | 出口货物 |\n\n### 计算公式\n**一般计税**:应纳税额 = 销项税额 - 进项税额\n**简易计税**:应纳税额 = 销售额 × 征收率(3%或5%)\n\n### 发票类型\n- **增值税专用发票**:可抵扣进项税额\n- **增值税普通发票**:不可抵扣\n- **电子发票**:与纸质发票同等法律效力", + "relatedAccountId": "2221", + "relatedSubject": "增值税纳税申报" + }, + { + "id": "t2", + "category": "tax", + "title": "企业所得税基础", + "content": "## 企业所得税\n\n企业所得税是对企业和其他取得收入的组织征收的一种税。\n\n### 税率\n| 类型 | 税率 |\n|------|------|\n| 一般企业 | 25% |\n| 高新技术企业 | 15% |\n| 小型微利企业 | 20%(减按计算)|\n\n### 应纳税所得额计算\n**应纳税所得额 = 收入总额 - 不征税收入 - 免税收入 - 各项扣除 - 以前年度亏损**\n\n### 常见扣除项目\n- 合理的工资薪金支出\n- 职工福利费(工资总额 14% 以内)\n- 业务招待费(发生额 60%,不超过收入 5‰)\n- 广告费和业务宣传费(收入 15% 以内)", + "relatedAccountId": "2221", + "relatedSubject": "企业所得税年度汇算清缴" + }, + { + "id": "t3", + "category": "tax", + "title": "发票管理与合规", + "content": "## 发票管理\n\n发票是企业经济活动中最重要的原始凭证之一。\n\n### 发票的种类\n1. **增值税专用发票** — 可抵扣进项税额\n2. **增值税普通发票** — 不可抵扣\n3. **电子发票** — 与纸质发票同等效力\n\n### 发票开具要求\n- 必须按实际交易内容如实开具\n- 发票信息必须完整(抬头、税号、商品名称、金额、税率等)\n- 不得虚开发票\n- 不得转借、转让发票\n\n### 法律责任\n- **虚开发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n- **非法出售发票**:情节严重的,处 2 年以上 7 年以下有期徒刑\n\n### 发票保管\n- 已开具的发票存根联和发票登记簿应保存 5 年", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t4", + "category": "tax", + "title": "纳税申报流程", + "content": "## 纳税申报流程\n\n### 申报期限\n\n| 税种 | 申报期限 |\n|------|---------|\n| 增值税 | 次月 15 日前(一般纳税人按月申报)|\n| 企业所得税(季报)| 季度结束后 15 日内 |\n| 企业所得税(年报)| 年度结束后 5 个月内(汇算清缴)|\n| 个人所得税 | 次月 15 日前 |\n| 印花税 | 次月 15 日前 |\n\n### 申报方式\n1. **网上申报** — 通过电子税务局在线申报(最常用)\n2. **上门申报** — 到主管税务机关办税服务厅申报\n3. **邮寄申报** — 通过邮政寄送申报表\n\n### 逾期申报后果\n- 每日加收滞纳税款万分之五的滞纳金\n- 可处以 2000 元以下的罚款", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "t5", + "category": "tax", + "title": "个人所得税常识", + "content": "## 个人所得税\n\n### 征税范围\n- 工资、薪金所得\n- 劳务报酬所得\n- 稿酬所得\n- 经营所得\n- 利息、股息、红利所得\n- 财产租赁/转让所得\n\n### 综合所得税率(工资薪金等)\n| 级数 | 全年应纳税所得额 | 税率 |\n|------|----------------|------|\n| 1 | ≤ 36,000 | 3% |\n| 2 | 36,000~144,000 | 10% |\n| 3 | 144,000~300,000 | 20% |\n| 4 | 300,000~420,000 | 25% |\n| 5 | 420,000~660,000 | 30% |\n| 6 | 660,000~960,000 | 35% |\n| 7 | > 960,000 | 45% |\n\n### 专项附加扣除\n- 子女教育:每名每月 2,000 元\n- 住房贷款利息:每月 1,000 元\n- 住房租金:每月 800-1,500 元\n- 赡养老人:每月 2,000-3,000 元\n- 3岁以下婴幼儿照护:每名每月 2,000 元", + "relatedAccountId": null, + "relatedSubject": null + }, + { + "id": "k11", + "category": "accounting_practice", + "title": "库存现金管理", + "content": "## 库存现金\n\n库存现金是企业存放在保险柜中的货币资金,属于流动性最强的资产。\n\n### 管理规定\n- 限额管理:企业库存现金不得超过银行核定的限额(一般3-5天日常开支)\n- 使用范围:职工工资、津贴、差旅费、结算起点以下的零星支出\n- 不得坐支现金:不得从现金收入中直接支付支出\n\n### 常见分录\n- 提取现金:借:库存现金 贷:银行存款\n- 现金报销:借:管理费用 贷:库存现金\n- 现金盘点:溢余 借:库存现金 贷:待处理财产损溢", + "relatedAccountId": "1001", + "relatedSubject": "现金管理规定" + }, + { + "id": "k12", + "category": "accounting_practice", + "title": "银行存款与对账", + "content": "## 银行存款\n\n银行存款是企业存放在银行账户中的资金。\n\n### 银行账户类型\n- 基本存款账户:日常转账结算和现金收付\n- 一般存款账户:借款转存和归还\n- 专用存款账户:特定用途资金\n- 临时存款账户:临时经营活动\n\n### 银行对账\n每月应编制**银行存款余额调节表**:\n- 企业已收银行未收 | 银行已收企业未收\n- 企业已付银行未付 | 银行已付企业未付\n\n### 常见分录\n- 销售收款:借:银行存款 贷:主营业务收入\n- 支付货款:借:应付账款 贷:银行存款", + "relatedAccountId": "1002", + "relatedSubject": "银行余额调节表" + }, + { + "id": "k13", + "category": "accounting_practice", + "title": "应收款项管理", + "content": "## 应收款项\n\n### 主要科目(均需掌握)\n- **1121 应收票据**:商业汇票形成的债权\n- **1122 应收账款**:销售商品/劳务形成的债权\n- **1123 预付账款**:预先支付给供应商的款项\n- **1131 应收股利**:应收取的现金股利\n- **1132 应收利息**:应收取的债券利息\n- **1221 其他应收款**:押金、备用金等\n- **1231 坏账准备**:预计无法收回的部分(备抵科目)\n\n### 坏账计提\n借:资产减值损失(5601) 贷:坏账准备\n\n### 管理要点\n- 定期分析账龄,及时催收\n- 对超信用期的应收款计提坏账\n- 应收账款周转率 = 营业收入 ÷ 平均应收账款", + "relatedAccountId": "1122", + "relatedSubject": "应收账款周转率与账龄分析" + }, + { + "id": "k14", + "category": "accounting_practice", + "title": "存货核算", + "content": "## 存货\n\n### 存货科目\n- **1401 材料采购**:在途材料的实际成本\n- **1403 原材料**:库存的各种材料\n- **1405 库存商品**:已完成验收入库的商品\n- **1411 周转材料**:可多次使用的包装物等\n- **1471 存货跌价准备**:成本高于可变现净值(备抵科目)\n\n### 存货计价方法\n- 先进先出法(FIFO)\n- 加权平均法\n- 个别计价法\n\n### 核心分录\n- 采购入库:借:原材料(1403) 贷:应付账款(2202)\n- 领用材料:借:生产成本(4001) 贷:原材料\n- 完工入库:借:库存商品(1405) 贷:生产成本\n- 结转成本:借:主营业务成本(5401) 贷:库存商品", + "relatedAccountId": "1403", + "relatedSubject": "存货盘点与计价方法" + }, + { + "id": "k15", + "category": "accounting_practice", + "title": "固定资产与无形资产", + "content": "## 长期资产\n\n### 固定资产相关科目\n- **1601 固定资产**:为生产经营持有的有形资产\n- **1604 在建工程**:未完工的工程项目\n- **1606 固定资产清理**:处置时的过渡科目\n\n### 无形资产相关科目\n- **1701 无形资产**:专利权、商标权、土地使用权等\n- **1702 累计摊销**:无形资产的备抵科目\n\n### 其他长期资产\n- **1801 长期待摊费用**:摊销期超过一年的费用\n- **1901 待处理财产损溢**:清查中待处理盈亏\n\n### 核心分录\n- 购入:借:固定资产 贷:银行存款\n- 折旧:借:管理费用/制造费用 贷:累计折旧\n- 处置:借:固定资产清理/累计折旧 贷:固定资产\n- 摊销:借:管理费用 贷:累计摊销", + "relatedAccountId": "1601", + "relatedSubject": "固定资产管理制度" + }, + { + "id": "k16", + "category": "accounting_practice", + "title": "金融资产与投资", + "content": "## 投资类科目\n\n### 科目清单\n- **1012 其他货币资金**:外埠存款、银行本票、信用证保证金等\n- **1101 交易性金融资产**:短期交易的股票、债券、基金\n- **1501 持有至到期投资**:固定到期日的债券投资\n- **1511 长期股权投资**:对联营/合营/子公司的投资\n\n### 投资收益\n- **5201 投资收益**:投资获得的收益或发生的损失\n- 宣告股利:借:应收股利 贷:投资收益\n- 处置收益:借:银行存款 贷:交易性金融资产 投资收益\n\n### 公允价值变动\n- **5101 公允价值变动损益**:交易性金融资产年末调账", + "relatedAccountId": "1101", + "relatedSubject": "金融资产三分类" + }, + { + "id": "k17", + "category": "accounting_practice", + "title": "应付账款与短期负债", + "content": "## 短期负债类科目\n\n### 科目清单\n- **2001 短期借款**:一年内到期的银行借款\n- **2201 应付票据**:签发的商业汇票\n- **2202 应付账款**:因购买商品/劳务应付的款项\n- **2203 预收账款**:预先收取的客户款项\n- **2211 应付职工薪酬**:应付未付的工资社保等\n- **2231 应付利息**:应计未付的利息\n- **2232 应付股利**:已宣告未支付的股利\n- **2241 其他应付款**:押金、暂收款等\n\n### 核心分录\n- 采购:借:原材料 贷:应付账款\n- 借款:借:银行存款 贷:短期借款\n- 付款:借:应付账款 贷:银行存款\n- 计提利息:借:财务费用 贷:应付利息", + "relatedAccountId": "2202", + "relatedSubject": "应付账款管理" + }, + { + "id": "k18", + "category": "accounting_practice", + "title": "长期负债", + "content": "## 长期负债类科目\n\n### 科目清单\n- **2501 长期借款**:期限一年以上的银行借款\n- **2502 应付债券**:企业发行的债券\n- **2701 长期应付款**:融资租赁、分期购入等\n\n### 长期借款\n- 借入:借:银行存款 贷:长期借款\n- 计提利息:借:财务费用/在建工程 贷:长期借款-应计利息\n- 偿还:借:长期借款 贷:银行存款\n\n### 应付债券\n- 按面值、溢价或折价发行\n- 利息调整在债券存续期内摊销\n\n### 借款费用资本化\n- 为构建固定资产发生的借款利息,在资产达到预定可使用状态前可资本化计入在建工程", + "relatedAccountId": "2501", + "relatedSubject": "借款费用资本化" + }, + { + "id": "k19", + "category": "accounting_practice", + "title": "所有者权益", + "content": "## 所有者权益类科目\n\n### 科目清单\n- **3001 实收资本**:投资者实际投入的注册资本\n- **3002 资本公积**:资本溢价及其他\n- **3101 盈余公积**:从净利润提取的积累\n- **3103 本年利润**:本年度累计净利润\n- **3104 利润分配**:利润的分配去向\n\n### 核心分录\n- 收到投资:借:银行存款 贷:实收资本 资本公积\n- 提取盈余公积:借:利润分配 贷:盈余公积\n- 结转收入:借:主营业务收入等 贷:本年利润\n- 结转费用:借:本年利润 贷:主营业务成本等\n- 结转本年利润:借:本年利润 贷:利润分配\n\n### 会计等式\n**资产 = 负债 + 所有者权益**", + "relatedAccountId": "3001", + "relatedSubject": "利润分配流程" + }, + { + "id": "k20", + "category": "accounting_practice", + "title": "成本核算", + "content": "## 成本类科目\n\n### 科目清单\n- **4001 生产成本**:直接材料+直接人工+制造费用\n- **4101 制造费用**:车间间接费用(折旧、水电、管理人员工资等)\n\n### 成本流转\n1. 发生费用:借:生产成本 贷:原材料/应付职工薪酬\n2. 归集制造费用:借:制造费用 贷:累计折旧/银行存款\n3. 分配制造费用:借:生产成本 贷:制造费用\n4. 完工入库:借:库存商品(1405) 贷:生产成本\n5. 结转销售成本:借:主营业务成本(5401) 贷:库存商品\n\n### 成本项目\n- 直接材料:构成产品实体的原材料\n- 直接人工:直接生产工人的工资\n- 制造费用:不能直接归属的间接费用\n\n### 计算方法\n- 品种法、分批法、分步法", + "relatedAccountId": "4001", + "relatedSubject": "成本计算方法详解" + }, + { + "id": "k21", + "category": "accounting_practice", + "title": "收入确认", + "content": "## 收入类科目\n\n### 科目清单\n- **5001 主营业务收入**:主要经营活动收入\n- **5051 其他业务收入**:材料销售、租金等\n- **5101 公允价值变动损益**:金融资产公允价值变动\n- **5201 投资收益**:对外投资损益\n- **5301 营业外收入**:非日常利得\n\n### 收入确认五步法\n1. 识别与客户订立的合同\n2. 识别合同中的履约义务\n3. 确定交易价格\n4. 将交易价格分摊至各履约义务\n5. 在履行履约义务时确认收入\n\n### 分录\n- 销售确认:借:银行存款/应收账款 贷:主营业务收入\n- 期末结转:借:主营业务收入 贷:本年利润", + "relatedAccountId": "5001", + "relatedSubject": "收入确认五步法" + }, + { + "id": "k22", + "category": "accounting_practice", + "title": "成本与费用核算", + "content": "## 成本费用类科目\n\n### 营业成本\n- **5401 主营业务成本**:与主营业务收入匹配的成本\n- **5402 其他业务成本**:其他业务活动成本\n\n### 税金\n- **5403 税金及附加**:消费税、城建税、教育费附加、印花税等\n\n### 期间费用\n- **5501 销售费用**:广告费、运输费、销售人员薪酬\n- **5502 管理费用**:办公费、管理人员薪酬、折旧、摊销\n- **5503 财务费用**:利息支出、汇兑损失、银行手续费\n\n### 其他损益\n- **5601 资产减值损失**:坏账、存货跌价等减值\n- **5701 营业外支出**:罚款、捐赠、非常损失\n- **5801 所得税费用**:当期所得税费用\n\n### 期末结转\n- 借:本年利润\n-   贷:主营业务成本、销售费用、管理费用、财务费用等", + "relatedAccountId": "5401", + "relatedSubject": "费用控制与预算管理" + }, + { + "id": "k23", + "category": "accounting_practice", + "title": "职工薪酬核算", + "content": "## 应付职工薪酬(2211)\n\n### 薪酬构成\n- 工资、奖金、津贴和补贴\n- 职工福利费(工资总额 14%)\n- 社会保险费(养老、医疗、失业、工伤、生育)\n- 住房公积金\n- 工会经费(工资总额 2%)\n- 职工教育经费(工资总额 8%)\n\n### 计提分录\n借:生产成本(生产工人)\n  制造费用(车间管理人员)\n  管理费用(行政人员)\n  销售费用(销售人员)\n  贷:应付职工薪酬\n\n### 发放分录\n借:应付职工薪酬\n  贷:银行存款\n    应交税费-应交个人所得税(2221)", + "relatedAccountId": "2211", + "relatedSubject": "社保公积金计算基数" + }, + { + "id": "k24", + "category": "accounting_practice", + "title": "所得税会计", + "content": "## 所得税费用(5801)\n\n### 当期所得税\n应纳税所得额 × 适用税率\n\n### 递延所得税\n- **应纳税暂时性差异** → 递延所得税负债\n- **可抵扣暂时性差异** → 递延所得税资产\n\n### 所得税费用公式\n所得税费用 = 当期所得税 + 递延所得税\n\n### 分录\n借:所得税费用(5801)\n  递延所得税资产\n  贷:应交税费-应交所得税(2221)\n    递延所得税负债\n\n### 常见暂时性差异\n- 折旧方法不同(会计直线法 vs 税法加速折旧)\n- 资产减值准备(会计计提,税法不允许)\n- 预计负债(会计确认,税法实际发生时扣除)", + "relatedAccountId": "5801", + "relatedSubject": "递延所得税原理" + }, + { + "id": "k25", + "category": "economic_law", + "title": "中国税制概览", + "content": "## 中国现行税制\n\n### 流转税(间接税)\n- **增值税**:对增值额征税(13%/9%/6%)\n- **消费税**:特定消费品(烟、酒、化妆品、汽车等)\n\n### 所得税(直接税)\n- **企业所得税**:25%/15%/20%\n- **个人所得税**:3%-45% 七级累进\n\n### 财产行为税\n- **印花税**:合同、账簿等凭证\n- **房产税**:经营性房产\n- **车船税**:车辆和船舶\n- **契税**:不动产产权转移\n\n### 附加税费\n- 城市维护建设税(7%/5%/1%)\n- 教育费附加(3%)\n- 地方教育附加(2%)\n\n### 对应会计科目\n- 增值税 → 应交税费-应交增值税(2221)\n- 消费税/城建税/教育费 → 税金及附加(5403)\n- 所得税 → 所得税费用(5801)", + "relatedAccountId": "2221", + "relatedSubject": "各税种申报期限" + }, + { + "id": "k26", + "category": "economic_law", + "title": "公司法与资本制度", + "content": "## 公司资本制度\n\n### 注册资本\n- 有限责任公司的注册资本为全体股东认缴的出资额\n- 实收资本(3001)是企业实际收到的出资\n\n### 出资方式\n- 货币出资\n- 实物出资(固定资产等)\n- 知识产权出资\n- 土地使用权出资\n\n### 资本三原则\n1. **资本确定原则**:设立时明确注册资本\n2. **资本维持原则**:存续期间保持与资本相应的财产\n3. **资本不变原则**:非经法定程序不得随意变更\n\n### 盈余公积\n- 法定盈余公积:按净利润 10% 提取\n- 可用于弥补亏损、转增资本\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 利润分配\n- 弥补亏损 → 提取盈余公积 → 向投资者分配利润", + "relatedAccountId": "3001", + "relatedSubject": "股东权利与义务" + }, + { + "id": "k27", + "category": "economic_law", + "title": "税收征收管理法", + "content": "## 税收征收管理\n\n### 税务登记\n- 企业成立后 30 日内办理税务登记\n- 变更、注销也需办理相应登记\n\n### 账簿凭证管理\n- 设置账簿,根据合法有效凭证记账\n- 账簿、凭证、报表等保存期限详见会计档案保管规定(知识卡片 k9)\n\n### 纳税申报\n- 按期如实申报(增值税次月 15 日前)\n- 可网上申报、上门申报或邮寄申报\n\n### 税款征收\n- 查账征收、核定征收、定期定额征收\n- 滞纳金:日加收滞纳税款万分之五\n\n### 税务检查\n- 税务机关有权检查账簿、凭证、报表\n- 可实地检查经营场所和货物存放地\n\n### 法律责任\n- 偷税:追缴税款、滞纳金,并处 50%-5 倍罚款\n- 构成犯罪的追究刑事责任", + "relatedAccountId": "5403", + "relatedSubject": "税务稽查应对" + }, + { + "id": "k28", + "category": "accounting_practice", + "title": "应收票据", + "content": "## 应收票据(1121)\n\n企业因销售商品、提供劳务等而收到的商业汇票。\n\n### 分类\n- 商业承兑汇票:由付款人承兑\n- 银行承兑汇票:由银行承兑(信用更高)\n\n### 分录\n- 收到票据:借:应收票据 贷:主营业务收入\n- 到期收款:借:银行存款 贷:应收票据\n- 贴现:借:银行存款(贴现值) 财务费用(贴现息) 贷:应收票据\n\n### 关联科目\n- 1122 应收账款 | 1131 应收股利 | 1132 应收利息\n- 5503 财务费用(贴现息)", + "relatedAccountId": "1121", + "relatedSubject": null + }, + { + "id": "k29", + "category": "accounting_practice", + "title": "预付账款", + "content": "## 预付账款(1123)\n\n企业按照合同规定预先支付给供应商的款项。\n\n### 分录\n- 预付时:借:预付账款 贷:银行存款\n- 收到货物:借:原材料 贷:预付账款\n- 补付差额:借:预付账款 贷:银行存款\n\n### 与应付账款的关系\n预付账款不多的企业可不设此科目,直接在应付账款(2202)借方核算。\n\n### 关联科目\n- 2202 应付账款 | 1403 原材料 | 2203 预收账款", + "relatedAccountId": "1123", + "relatedSubject": null + }, + { + "id": "k30", + "category": "accounting_practice", + "title": "应收股利与应收利息", + "content": "## 应收股利(1131)与应收利息(1132)\n\n### 应收股利\n- 企业应收取的现金股利或利润\n- 宣告时:借:应收股利 贷:投资收益(5201)\n- 收到时:借:银行存款 贷:应收股利\n\n### 应收利息\n- 企业应收取的债券利息\n- 计提时:借:应收利息 贷:投资收益\n- 收到时:借:银行存款 贷:应收利息\n\n### 关联科目\n- 5201 投资收益 | 1501 持有至到期投资 | 1511 长期股权投资", + "relatedAccountId": "1131", + "relatedSubject": null + }, + { + "id": "k31", + "category": "accounting_practice", + "title": "其他应收款", + "content": "## 其他应收款(1221)\n\n除应收票据、应收账款、预付账款、应收股利和应收利息以外的各种应收及暂付款项。\n\n### 包括\n- 应收的各种赔款、罚款\n- 出租包装物的应收租金\n- 应向职工收取的各种垫付款\n- 存出保证金(押金)\n- 备用金(内部周转金)\n\n### 与营业外收入的区分\n- 罚款收入:借:其他应收款 贷:营业外收入(5301)\n- 收回时:借:银行存款 贷:其他应收款\n\n### 关联科目\n- 2241 其他应付款 | 5301 营业外收入", + "relatedAccountId": "1221", + "relatedSubject": null + }, + { + "id": "k32", + "category": "accounting_practice", + "title": "材料采购", + "content": "## 材料采购(1401)\n\n核算企业采用计划成本进行材料日常核算时,购入材料的实际采购成本。\n\n### 计划成本法\n1. 购入时:借:材料采购(实际成本) 贷:银行存款\n2. 入库时:借:原材料(计划成本) 材料成本差异(超支) 贷:材料采购\n\n### 材料成本差异\n- 实际成本 > 计划成本:超支(借方差异)\n- 实际成本 < 计划成本:节约(贷方差异)\n\n### 关联科目\n- 1403 原材料 | 4001 生产成本 | 5401 主营业务成本", + "relatedAccountId": "1401", + "relatedSubject": null + }, + { + "id": "k33", + "category": "accounting_practice", + "title": "库存商品", + "content": "## 库存商品(1405)\n\n企业已完成全部生产过程并验收入库、可以对外销售的商品。\n\n### 分录\n- 完工入库:借:库存商品 贷:生产成本(4001)\n- 销售出库:借:主营业务成本(5401) 贷:库存商品\n\n### 管理要点\n- 定期盘点,账实核对\n- 存货跌价准备计提(参考 1471)\n- 存货周转率 = 营业成本 ÷ 平均存货\n\n### 关联科目\n- 4001 生产成本 | 5401 主营业务成本 | 1411 周转材料\n- 1471 存货跌价准备(备抵科目)", + "relatedAccountId": "1405", + "relatedSubject": null + }, + { + "id": "k34", + "category": "accounting_practice", + "title": "周转材料", + "content": "## 周转材料(1411)\n\n企业能够多次使用但不符合固定资产定义的材料。\n\n### 包括\n- 包装物(如包装桶、箱、袋)\n- 低值易耗品(工具、管理用具、劳保用品等)\n\n### 摊销方法\n- 一次摊销法:领用时全部计入成本费用\n- 五五摊销法:领用时摊销 50%,报废时摊销 50%\n- 分次摊销法:按使用次数分期摊销\n\n### 分录(一次摊销法)\n- 领用时:借:制造费用/管理费用 贷:周转材料\n\n### 关联科目\n- 4101 制造费用 | 5502 管理费用 | 1405 库存商品", + "relatedAccountId": "1411", + "relatedSubject": null + }, + { + "id": "k35", + "category": "accounting_practice", + "title": "存货跌价准备", + "content": "## 存货跌价准备(1471)\n\n期末存货成本高于其可变现净值的,应计提存货跌价准备。\n\n### 可变现净值\n- 存货的估计售价 - 至完工估计成本 - 估计销售费用 - 相关税费\n\n### 计提\n- 借:资产减值损失(5601) 贷:存货跌价准备\n\n### 转回\n- 以前减记存货价值的影响因素消失,可在原计提金额内转回\n- 借:存货跌价准备 贷:资产减值损失\n\n### 关联科目\n- 1403 原材料 | 1405 库存商品 | 5601 资产减值损失\n- 1231 坏账准备(类比,但坏账准备不可转回)", + "relatedAccountId": "1471", + "relatedSubject": null + }, + { + "id": "k36", + "category": "accounting_practice", + "title": "持有至到期投资", + "content": "## 持有至到期投资(1501)\n\n到期日固定、回收金额固定或可确定,且企业有明确意图和能力持有至到期的非衍生金融资产。\n\n### 计量\n- 初始计量:按公允价值和交易费用之和\n- 后续计量:按实际利率法以摊余成本计量\n\n### 分录\n- 购入:借:持有至到期投资-成本 贷:银行存款\n- 计提利息:借:应收利息(1132) 贷:投资收益(5201)\n- 到期收回:借:银行存款 贷:持有至到期投资\n\n### 关联科目\n- 1132 应收利息 | 5201 投资收益 | 1511 长期股权投资", + "relatedAccountId": "1501", + "relatedSubject": null + }, + { + "id": "k37", + "category": "accounting_practice", + "title": "长期股权投资", + "content": "## 长期股权投资(1511)\n\n投资方对被投资单位实施控制、共同控制或重大影响的权益性投资。\n\n### 核算方法\n- **成本法**:对子公司投资(持股 > 50%)\n- **权益法**:对联营企业(20%-50%)和合营企业\n\n### 成本法\n- 宣告股利:借:应收股利 贷:投资收益\n- 不随被投资单位净资产变动调整\n\n### 权益法\n- 被投资单位盈利:借:长期股权投资-损益调整 贷:投资收益\n- 宣告股利:借:应收股利 贷:长期股权投资-损益调整\n\n### 关联科目\n- 1131 应收股利 | 5201 投资收益 | 3002 资本公积", + "relatedAccountId": "1511", + "relatedSubject": null + }, + { + "id": "k38", + "category": "accounting_practice", + "title": "在建工程", + "content": "## 在建工程(1604)\n\n企业正在建设、安装或技术改造中的工程项目。\n\n### 核算内容\n- 建筑工程(厂房、办公楼等)\n- 安装工程(设备安装)\n- 技术改造工程\n\n### 分录\n- 发生支出:借:在建工程 贷:银行存款/工程物资\n- 借款费用资本化:借:在建工程 贷:长期借款-应计利息\n- 完工结转:借:固定资产(1601) 贷:在建工程\n\n### 与固定资产的关系\n在建工程达到预定可使用状态后转入固定资产,并从下月开始计提折旧。\n\n### 关联科目\n- 1601 固定资产 | 2501 长期借款 | 1606 固定资产清理", + "relatedAccountId": "1604", + "relatedSubject": null + }, + { + "id": "k39", + "category": "accounting_practice", + "title": "固定资产清理", + "content": "## 固定资产清理(1606)\n\n固定资产出售、报废、毁损时使用的过渡科目。\n\n### 分录\n1. 转入清理:借:固定资产清理 累计折旧(1602) 贷:固定资产(1601)\n2. 发生清理费用:借:固定资产清理 贷:银行存款\n3. 取得变价收入:借:银行存款 贷:固定资产清理\n4. 清理净损益:\n - 净损失:借:营业外支出(5701) 贷:固定资产清理\n - 净收益:借:固定资产清理 贷:营业外收入(5301)\n\n### 关联科目\n- 1601 固定资产 | 1602 累计折旧 | 5701 营业外支出 | 5301 营业外收入", + "relatedAccountId": "1606", + "relatedSubject": null + }, + { + "id": "k40", + "category": "accounting_practice", + "title": "无形资产", + "content": "## 无形资产(1701)\n\n企业拥有或控制的没有实物形态的可辨认非货币性资产。\n\n### 种类\n- 专利权 | 商标权 | 著作权\n- 土地使用权(中国特有)\n- 非专利技术 | 特许经营权\n\n### 分录\n- 购入:借:无形资产 贷:银行存款\n- 自行研发:研究阶段费用化,开发阶段符合条件的资本化\n- 摊销:借:管理费用(5502) 贷:累计摊销(1702)\n\n### 摊销\n- 使用寿命有限的无形资产应摊销\n- 使用寿命不确定的不摊销,但每年进行减值测试\n\n### 关联科目\n- 1702 累计摊销 | 5502 管理费用 | 1601 固定资产(类比)", + "relatedAccountId": "1701", + "relatedSubject": null + }, + { + "id": "k41", + "category": "accounting_practice", + "title": "累计摊销", + "content": "## 累计摊销(1702)\n\n无形资产因使用而累计减少的价值,是无形资产的备抵科目。\n\n### 摊销方法\n- 一般采用直线法\n- 摊销期:合同/法律规定年限,或预计使用年限\n\n### 分录\n- 每月摊销:借:管理费用(5502)/其他业务成本(5402) 贷:累计摊销\n\n### 与累计折旧的异同\n- 同:都是备抵科目,抵减资产账面价值\n- 异:固定资产用累计折旧(1602),无形资产用累计摊销\n\n### 关联科目\n- 1701 无形资产 | 5502 管理费用 | 1602 累计折旧(类比)", + "relatedAccountId": "1702", + "relatedSubject": null + }, + { + "id": "k42", + "category": "accounting_practice", + "title": "长期待摊费用", + "content": "## 长期待摊费用(1801)\n\n企业已经发生但应由本期和以后各期负担的、分摊期限在一年以上的各项费用。\n\n### 包括\n- 经营租入固定资产的改良支出\n- 固定资产大修理支出\n- 开办费(可选)\n\n### 分录\n- 发生时:借:长期待摊费用 贷:银行存款\n- 摊销时:借:管理费用/销售费用 贷:长期待摊费用\n\n### 与待摊费用的区别\n摊销期一年以内一般计入\"预付账款\"或直接费用化。\n\n### 关联科目\n- 5502 管理费用 | 5501 销售费用 | 1601 固定资产", + "relatedAccountId": "1801", + "relatedSubject": null + }, + { + "id": "k43", + "category": "accounting_practice", + "title": "待处理财产损溢", + "content": "## 待处理财产损溢(1901)\n\n企业在财产清查过程中查明的各种财产盘盈、盘亏和毁损的价值。\n\n### 分录\n**盘盈(溢余)**\n- 发现时:借:固定资产/原材料 贷:待处理财产损溢\n- 批准后:借:待处理财产损溢 贷:营业外收入(5301)/管理费用\n\n**盘亏(短缺)**\n- 发现时:借:待处理财产损溢 贷:固定资产/原材料\n- 批准后:借:营业外支出(5701)/其他应收款/管理费用 贷:待处理财产损溢\n\n### 注意\n- 期末必须处理完毕,报表上不应有余额\n- 属于过渡性科目\n\n### 关联科目\n- 1601 固定资产 | 1403 原材料 | 5301 营业外收入 | 5701 营业外支出 | 1221 其他应收款", + "relatedAccountId": "1901", + "relatedSubject": null + }, + { + "id": "k44", + "category": "accounting_practice", + "title": "短期借款", + "content": "## 短期借款(2001)\n\n企业向银行或其他金融机构借入的期限一年以下(含一年)的借款。\n\n### 分录\n- 借入:借:银行存款 贷:短期借款\n- 计提利息:借:财务费用(5503) 贷:应付利息(2231)\n- 支付利息:借:应付利息 贷:银行存款\n- 偿还本金:借:短期借款 贷:银行存款\n\n### 与长期借款的区别\n- 短期借款 ≤ 1年(2001);长期借款 > 1年(2501)\n- 短期借款利息一般计入财务费用(不可资本化)\n\n### 关联科目\n- 2231 应付利息 | 5503 财务费用 | 2501 长期借款", + "relatedAccountId": "2001", + "relatedSubject": null + }, + { + "id": "k45", + "category": "accounting_practice", + "title": "应付票据", + "content": "## 应付票据(2201)\n\n企业购买商品、接受劳务等签发的商业汇票。\n\n### 分录\n- 签发时:借:原材料/库存商品 贷:应付票据\n- 到期付款:借:应付票据 贷:银行存款\n- 到期无力支付:\n - 商业承兑汇票:借:应付票据 贷:应付账款(2202)\n - 银行承兑汇票:借:应付票据 贷:短期借款(2001)\n\n### 关联科目\n- 1121 应收票据(对方视角)| 2202 应付账款 | 2001 短期借款", + "relatedAccountId": "2201", + "relatedSubject": null + }, + { + "id": "k46", + "category": "accounting_practice", + "title": "预收账款", + "content": "## 预收账款(2203)\n\n企业按照合同规定预先向客户收取的款项。\n\n### 分录\n- 预收时:借:银行存款 贷:预收账款\n- 交付商品:借:预收账款 贷:主营业务收入(5001)\n- 退还多余款:借:预收账款 贷:银行存款\n\n### 与合同负债的区别\n新收入准则下,预收账款中已收取但未履约的部分,符合条件应重分类为\"合同负债\"。\n\n### 关联科目\n- 1123 预付账款(对方视角)| 5001 主营业务收入 | 2202 应付账款", + "relatedAccountId": "2203", + "relatedSubject": null + }, + { + "id": "k47", + "category": "accounting_practice", + "title": "应付利息与应付股利", + "content": "## 应付利息(2231)与应付股利(2232)\n\n### 应付利息\n- 应计未付的借款利息\n- 计提:借:财务费用(5503) 贷:应付利息\n- 支付:借:应付利息 贷:银行存款\n\n### 应付股利\n- 已宣告但尚未支付给投资者的现金股利\n- 宣告:借:利润分配(3104) 贷:应付股利\n- 支付:借:应付股利 贷:银行存款\n\n### 关联科目\n- 5503 财务费用 | 3104 利润分配 | 2001 短期借款 | 2501 长期借款", + "relatedAccountId": "2231", + "relatedSubject": null + }, + { + "id": "k48", + "category": "accounting_practice", + "title": "其他应付款", + "content": "## 其他应付款(2241)\n\n除应付票据、应付账款、预收账款、应付职工薪酬、应交税费、应付利息、应付股利等以外的应付及暂收款项。\n\n### 包括\n- 应付的租金\n- 收取的押金、保证金\n- 应付的赔偿款、罚款\n\n### 分录\n- 收取押金:借:银行存款 贷:其他应付款\n- 退还押金:借:其他应付款 贷:银行存款\n- 逾期未退的押金可能转为营业外收入\n\n### 关联科目\n- 1221 其他应收款(对方科目)| 2202 应付账款 | 5301 营业外收入", + "relatedAccountId": "2241", + "relatedSubject": null + }, + { + "id": "k49", + "category": "accounting_practice", + "title": "应付债券", + "content": "## 应付债券(2502)\n\n企业为筹集资金而发行的债券。\n\n### 发行方式\n- 按面值发行:票面利率 = 市场利率\n- 溢价发行:票面利率 > 市场利率(投资者愿多付)\n- 折价发行:票面利率 < 市场利率(投资者需补偿)\n\n### 分录\n- 发行:借:银行存款 贷:应付债券-面值 应付债券-利息调整(或借方)\n- 计提利息:借:财务费用 贷:应付债券-应计利息\n- 摊销利息调整:借/贷:应付债券-利息调整 贷/借:财务费用\n\n### 关联科目\n- 5503 财务费用 | 2501 长期借款 | 2701 长期应付款", + "relatedAccountId": "2502", + "relatedSubject": null + }, + { + "id": "k50", + "category": "accounting_practice", + "title": "长期应付款", + "content": "## 长期应付款(2701)\n\n除长期借款和应付债券以外的其他各种长期应付款项。\n\n### 包括\n- 应付融资租赁款(融资租入固定资产)\n- 以分期付款方式购入固定资产的应付款项\n\n### 分录(融资租赁)\n- 租入:借:固定资产(最低租赁付款额现值或公允价值孰低) 未确认融资费用 贷:长期应付款\n- 支付租金:借:长期应付款 贷:银行存款\n- 摊销融资费用:借:财务费用 贷:未确认融资费用\n\n### 关联科目\n- 1601 固定资产 | 5503 财务费用 | 2501 长期借款 | 2502 应付债券", + "relatedAccountId": "2701", + "relatedSubject": null + }, + { + "id": "k51", + "category": "accounting_practice", + "title": "其他货币资金", + "content": "## 其他货币资金(1012)\n\n除库存现金和银行存款以外的货币资金。\n\n### 包括\n- 外埠存款(异地临时采购账户)\n- 银行汇票存款\n- 银行本票存款\n- 信用证保证金存款\n- 信用卡存款\n\n### 分录\n- 存入保证金:借:其他货币资金 贷:银行存款\n- 使用:借:原材料 贷:其他货币资金\n- 退回余额:借:银行存款 贷:其他货币资金\n\n### 关联科目\n- 1001 库存现金 | 1002 银行存款 | 2202 应付账款", + "relatedAccountId": "1012", + "relatedSubject": null + }, + { + "id": "k52", + "category": "accounting_practice", + "title": "资本公积", + "content": "## 资本公积(3002)\n\n企业收到的投资者出资超过注册资本(或股本)中所占份额的部分。\n\n### 来源\n- **资本溢价**:实际出资超过注册资本份额\n- **股本溢价**:股票发行价高于面值\n- **其他资本公积**:权益法下被投资单位权益变动等\n\n### 用途\n- 转增资本(股本)\n- 不得用于弥补亏损\n- 转增资本后留存不得低于转增前注册资本的 25%\n\n### 分录\n- 收到溢价出资:借:银行存款 贷:实收资本 资本公积-资本溢价\n\n### 关联科目\n- 3001 实收资本 | 3101 盈余公积 | 1511 长期股权投资", + "relatedAccountId": "3002", + "relatedSubject": null + }, + { + "id": "k53", + "category": "accounting_practice", + "title": "盈余公积", + "content": "## 盈余公积(3101)\n\n企业从净利润中提取的积累资金。\n\n### 种类\n- **法定盈余公积**:按净利润 10% 提取,累计达注册资本 50% 可不再提取\n- **任意盈余公积**:由股东会决定提取比例\n\n### 用途\n- 弥补亏损\n- 转增资本(股本)\n- 扩大生产经营\n\n### 分录\n- 提取:借:利润分配(3104) 贷:盈余公积\n- 弥补亏损:借:盈余公积 贷:利润分配\n- 转增资本:借:盈余公积 贷:实收资本(3001)\n\n### 关联科目\n- 3104 利润分配 | 3001 实收资本 | 3103 本年利润", + "relatedAccountId": "3101", + "relatedSubject": null + }, + { + "id": "k54", + "category": "accounting_practice", + "title": "本年利润", + "content": "## 本年利润(3103)\n\n企业本年度累计实现的净利润(或亏损)。\n\n### 期末结转\n**结转收入**\n- 借:主营业务收入(5001)\n- 借:其他业务收入(5051)\n- 借:投资收益(5201)\n- 借:营业外收入(5301)\n-   贷:本年利润\n\n**结转费用**\n- 借:本年利润\n-   贷:主营业务成本(5401)\n-   贷:销售费用(5501)\n-   贷:管理费用(5502)\n-   贷:财务费用(5503)\n-   贷:营业外支出(5701)\n-   贷:所得税费用(5801)\n\n**年终结转**\n- 盈利:借:本年利润 贷:利润分配(3104)\n- 亏损:借:利润分配 贷:本年利润", + "relatedAccountId": "3103", + "relatedSubject": "期末结转流程" + }, + { + "id": "k55", + "category": "accounting_practice", + "title": "利润分配", + "content": "## 利润分配(3104)\n\n企业利润的分配(或亏损的弥补)和历年分配(或弥补)后的余额。\n\n### 分配顺序\n1. 弥补以前年度亏损\n2. 提取法定盈余公积(10%)\n3. 提取任意盈余公积\n4. 向投资者分配利润(股利)\n\n### 分录\n- 提取盈余公积:借:利润分配-提取法定盈余公积 贷:盈余公积(3101)\n- 宣告股利:借:利润分配-应付股利 贷:应付股利(2232)\n- 年终结转:借:利润分配-未分配利润 贷:利润分配-提取盈余公积、应付股利\n\n### 未分配利润\n利润分配-未分配利润贷方余额 = 历年累积未分配利润\n\n### 关联科目\n- 3101 盈余公积 | 2232 应付股利 | 3103 本年利润", + "relatedAccountId": "3104", + "relatedSubject": null + }, + { + "id": "k56", + "category": "accounting_practice", + "title": "制造费用", + "content": "## 制造费用(4101)\n\n企业为生产产品和提供劳务而发生的各项间接费用。\n\n### 包括\n- 车间管理人员工资及福利费\n- 车间固定资产折旧费\n- 车间水电费、取暖费\n- 机物料消耗、低值易耗品摊销\n- 劳动保护费、季节性和修理期间的停工损失\n\n### 分录\n- 归集:借:制造费用 贷:累计折旧/应付职工薪酬/银行存款\n- 分配:借:生产成本(4001) 贷:制造费用\n\n### 分配标准\n- 按生产工时比例分配\n- 按机器工时比例分配\n- 按直接人工成本比例分配\n\n### 关联科目\n- 4001 生产成本 | 1602 累计折旧 | 2211 应付职工薪酬", + "relatedAccountId": "4101", + "relatedSubject": null + }, + { + "id": "k57", + "category": "accounting_practice", + "title": "其他业务收入", + "content": "## 其他业务收入(5051)\n\n企业除主营业务活动以外的其他经营活动实现的收入。\n\n### 包括\n- 销售材料收入\n- 出租包装物和固定资产的租金收入\n- 让渡资产使用权收入\n- 运输等非主营业务收入\n\n### 分录\n- 确认收入:借:银行存款 贷:其他业务收入\n- 期末结转:借:其他业务收入 贷:本年利润(3103)\n\n### 与营业外收入的区别\n- 其他业务收入:日常活动但不属于主业\n- 营业外收入(5301):非日常活动利得\n\n### 关联科目\n- 5402 其他业务成本 | 5001 主营业务收入 | 5301 营业外收入", + "relatedAccountId": "5051", + "relatedSubject": null + }, + { + "id": "k58", + "category": "accounting_practice", + "title": "公允价值变动损益", + "content": "## 公允价值变动损益(5101)\n\n交易性金融资产等按公允价值计量时,公允价值变动形成的应计入当期损益的利得或损失。\n\n### 适用资产\n- 交易性金融资产(1101)\n- 以公允价值计量的投资性房地产\n\n### 分录\n- 公允价值上升:借:交易性金融资产-公允价值变动 贷:公允价值变动损益\n- 公允价值下降:借:公允价值变动损益 贷:交易性金融资产-公允价值变动\n- 期末结转:借/贷:公允价值变动损益 贷/借:本年利润(3103)\n\n### 关联科目\n- 1101 交易性金融资产 | 5201 投资收益 | 3103 本年利润", + "relatedAccountId": "5101", + "relatedSubject": null + }, + { + "id": "k59", + "category": "accounting_practice", + "title": "投资收益", + "content": "## 投资收益(5201)\n\n企业对外投资取得的收益或发生的损失。\n\n### 来源\n- 长期股权投资(1511)的股利收入\n- 持有至到期投资(1501)的利息收入\n- 交易性金融资产(1101)的处置损益\n- 权益法下被投资单位净利润份额\n\n### 分录\n- 宣告股利(成本法):借:应收股利 贷:投资收益\n- 被投资单位盈利(权益法):借:长期股权投资 贷:投资收益\n- 处置金融资产:借:银行存款 贷:交易性金融资产 投资收益(差额)\n\n### 关联科目\n- 1511 长期股权投资 | 1131 应收股利 | 1101 交易性金融资产 | 1501 持有至到期投资", + "relatedAccountId": "5201", + "relatedSubject": null + }, + { + "id": "k60", + "category": "accounting_practice", + "title": "营业外收入与支出", + "content": "## 营业外收入(5301)与营业外支出(5701)\n\n### 营业外收入\n- 非流动资产处置利得\n- 盘盈利得\n- 捐赠利得\n- 罚款收入\n- 无法支付的应付款项\n\n### 营业外支出\n- 非流动资产处置损失\n- 盘亏损失\n- 捐赠支出\n- 罚款支出\n- 非常损失(自然灾害等)\n\n### 分录\n- 盘盈利得:借:待处理财产损溢 贷:营业外收入\n- 捐赠支出:借:营业外支出 贷:银行存款\n\n### 注意\n- 均属于非日常活动\n- 直接影响当期利润\n- 不影响营业利润,但影响利润总额\n\n### 关联科目\n- 1901 待处理财产损溢 | 1606 固定资产清理", + "relatedAccountId": "5301", + "relatedSubject": null + }, + { + "id": "k61", + "category": "accounting_practice", + "title": "其他业务成本", + "content": "## 其他业务成本(5402)\n\n企业确认的除主营业务活动以外的其他经营活动所发生的成本。\n\n### 包括\n- 销售材料的成本\n- 出租固定资产的折旧额\n- 出租包装物的摊销额\n- 出租无形资产的摊销额\n\n### 分录\n- 确认成本:借:其他业务成本 贷:原材料/累计折旧/累计摊销\n- 期末结转:借:本年利润(3103) 贷:其他业务成本\n\n### 配比原则\n其他业务收入(5051)与对应的其他业务成本应配比确认。\n\n### 关联科目\n- 5051 其他业务收入 | 5401 主营业务成本 | 3103 本年利润", + "relatedAccountId": "5402", + "relatedSubject": null + }, + { + "id": "k62", + "category": "accounting_practice", + "title": "销售费用", + "content": "## 销售费用(5501)\n\n企业在销售商品和材料、提供劳务的过程中发生的各种费用。\n\n### 包括\n- 广告费和展览费\n- 运输费、装卸费、包装费\n- 保险费(运输途中)\n- 销售部门职工薪酬\n- 销售部门的折旧费、修理费\n- 预计产品质量保证损失\n\n### 分录\n- 发生费用:借:销售费用 贷:银行存款/累计折旧/应付职工薪酬\n- 期末结转:借:本年利润(3103) 贷:销售费用\n\n### 销售费用率\n销售费用 ÷ 营业收入 = 销售费用率(反映销售效率)\n\n### 关联科目\n- 5502 管理费用 | 5503 财务费用 | 3103 本年利润", + "relatedAccountId": "5501", + "relatedSubject": null + }, + { + "id": "k63", + "category": "accounting_practice", + "title": "管理费用", + "content": "## 管理费用(5502)\n\n企业为组织和管理企业生产经营所发生的费用。\n\n### 包括\n- 行政管理部门职工薪酬\n- 办公费、差旅费、会议费\n- 董事会费(董事会成员津贴等)\n- 聘请中介机构费(审计、律师等)\n- 咨询费、诉讼费\n- 房产税、车船税、印花税\n- 行政用固定资产折旧、无形资产摊销\n- 业务招待费\n\n### 业务招待费\n- 按发生额 60% 扣除,最高不超过当年营业收入 5‰\n\n### 分录\n- 发生:借:管理费用 贷:银行存款/累计折旧\n- 期末:借:本年利润(3103) 贷:管理费用\n\n### 关联科目\n- 5501 销售费用 | 5503 财务费用 | 5403 税金及附加", + "relatedAccountId": "5502", + "relatedSubject": null + }, + { + "id": "k64", + "category": "accounting_practice", + "title": "财务费用", + "content": "## 财务费用(5503)\n\n企业为筹集生产经营所需资金等而发生的筹资费用。\n\n### 包括\n- 利息支出(减利息收入)\n- 汇兑损失(减汇兑收益)\n- 银行手续费\n- 现金折扣\n\n### 分录\n- 计提利息:借:财务费用 贷:应付利息(2231)/长期借款-应计利息\n- 收到利息收入:借:银行存款 贷:财务费用(冲减)\n- 支付手续费:借:财务费用 贷:银行存款\n\n### 资本化\n为购建固定资产的专门借款利息,在资产达到预定可使用状态前计入在建工程(1604),不确认财务费用。\n\n### 关联科目\n- 2231 应付利息 | 2001 短期借款 | 2501 长期借款 | 1604 在建工程", + "relatedAccountId": "5503", + "relatedSubject": null + }, + { + "id": "k65", + "category": "accounting_practice", + "title": "资产减值损失", + "content": "## 资产减值损失(5601)\n\n企业计提各项资产减值准备所形成的损失。\n\n### 对应减值科目\n| 减值损失(5601) | 对应备抵科目 |\n|------|------|\n| 坏账损失 | 坏账准备(1231)|\n| 存货跌价损失 | 存货跌价准备(1471)|\n| 固定资产减值损失 | 固定资产减值准备 |\n| 无形资产减值损失 | 无形资产减值准备 |\n\n### 分录\n- 计提:借:资产减值损失 贷:坏账准备/存货跌价准备等\n- 期末结转:借:本年利润(3103) 贷:资产减值损失\n\n### 注意\n- 固定资产减值损失一经确认,不得转回!\n- 存货跌价准备可以在原计提范围内转回\n- 坏账准备不能转回(不同于存货)\n\n### 关联科目\n- 1231 坏账准备 | 1471 存货跌价准备 | 3103 本年利润", + "relatedAccountId": "5601", + "relatedSubject": null + }, + { + "id": "k66", + "category": "accounting_practice", + "title": "营业外支出", + "content": "## 营业外支出(5701)\n\n企业发生的与日常活动无直接关系的各项损失。\n\n### 包括\n- 非流动资产处置净损失\n- 盘亏损失(计入营业外支出的部分)\n- 罚款支出(如税务罚款、环保罚款等)\n- 捐赠支出\n- 非常损失(自然灾害等不可抗力造成的损失)\n- 非货币性资产交换损失\n- 债务重组损失\n\n### 影响\n- 不影响营业利润(营业利润 = 收入 - 成本 - 税金 - 期间费用 - 减值)\n- 但影响利润总额和净利润\n- 利润总额 = 营业利润 + 营业外收入 - 营业外支出\n\n### 分录\n- 发生:借:营业外支出 贷:银行存款/固定资产清理\n- 期末:借:本年利润(3103) 贷:营业外支出\n\n### 关联科目\n- 5301 营业外收入 | 3103 本年利润 | 1606 固定资产清理", + "relatedAccountId": "5701", + "relatedSubject": null + }, + { + "id": "k67", + "category": "accounting_practice", + "title": "应收利息核算", + "content": "## 应收利息(1132)\n\n企业持有至到期投资、可供出售金融资产等应收取的利息。\n\n### 计提:借:应收利息 贷:投资收益(5201)\n### 收到:借:银行存款 贷:应收利息\n\n### 关联:1501 持有至到期投资 | 5201 投资收益 | 5503 财务费用", + "relatedAccountId": "1132", + "relatedSubject": null + }, + { + "id": "k68", + "category": "accounting_practice", + "title": "坏账准备核算", + "content": "## 坏账准备(1231)\n\n应收账款的备抵科目,核算预计无法收回的应收账款。\n\n### 计提:借:资产减值损失(5601) 贷:坏账准备\n### 核销:借:坏账准备 贷:应收账款(1122)\n### 已核销又收回:借:应收账款 贷:坏账准备;借:银行存款 贷:应收账款\n\n### 估计方法:账龄分析法、余额百分比法\n\n### 关联:1122 应收账款 | 5601 资产减值损失 | 1471 存货跌价准备", + "relatedAccountId": "1231", + "relatedSubject": null + }, + { + "id": "k69", + "category": "accounting_practice", + "title": "应付股利核算", + "content": "## 应付股利(2232)\n\n企业经股东大会或类似机构决议确定分配的现金股利或利润。\n\n### 宣告:借:利润分配(3104) 贷:应付股利\n### 支付:借:应付股利 贷:银行存款\n\n### 注意:股票股利不通过本科目核算(仅做备查登记)\n\n### 关联:3104 利润分配 | 3101 盈余公积 | 1131 应收股利(对方视角)", + "relatedAccountId": "2232", + "relatedSubject": null + } +] \ No newline at end of file