MiniMall:财务微服务业务和数据结构

账务微服务包括科目管理、账单管理。

1. 科目管理

科目是指账单中一笔账款的商品,可以理解为是在项目和商户进行交易的一个东西。

1.1 业务功能

(1)科目资料包括名称和代码,其中代码全局唯一。录入之后就不允许再进行修改。

(2)两种业务状态:使用中、已停用。

(3)两种业务操作:启用、停用。

(4)科目有税额的概念,比如价内税、价外税等等,该属性是用于计算税额的。

1.2 数据结构

CREATE TABLE `acc_subject`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `tax_rate` numeric(6, 4) NOT NULL COMMENT '税率',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_subject_1`(`code`)
) COMMENT = '科目表';

2. 账单管理

账单的数据由招商微服务的结算周期明细出账而来。

2.1 业务功能

(1)一个账单包括项目(甲方)、商户(乙方)、合同、销售提成率、记账日期、账单总金额等数据。

(2)两种业务状态:未生效、已生效。当对结算周期明细进行出账生成账单,此时账单为未生效状态,允许重复编辑和删除。若删除账单,需要对相应的结算周期明细恢复出账。

(3)一个账单中包含若干账款明细数据,一条账款明细包括本次结算起止日期,本次结算金额,本次销售提成总额,以及科目等数据。

2.2 数据结构

  • 主表
CREATE TABLE `acc_statement`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `bill_number` varchar(38) NOT NULL COMMENT '单号',
  `state` varchar(16) NOT NULL COMMENT '业务状态',
  `pay_state` varchar(16) NOT NULL COMMENT '付款状态',
  `store_uuid` varchar(38) NOT NULL COMMENT '项目uuid',
  `tenant_uuid` varchar(38) NOT NULL COMMENT '商户uuid',
  `contract_uuid` varchar(38) NOT NULL COMMENT '合同uuid',
  `account_date` date NOT NULL COMMENT '记账日期',
  `sales_rate` numeric(19, 4) NOT NULL COMMENT '销售提成率',
  `total` numeric(19, 2) NOT NULL COMMENT '账单总金额',
  `tax` numeric(19, 2) NOT NULL COMMENT '账单总税额',
  PRIMARY KEY (`uuid`),
  INDEX `idx_statement_1`(`contract_uuid`),
  INDEX `idx_statement_2`(`store_uuid`, `tenant_uuid`)
) COMMENT = '账单主表';
  • 账款明细表
CREATE TABLE `acc_statement_detail`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `statement_uuid` varchar(38) NOT NULL COMMENT '账单主表uuid',
  `line_number` int(8) NOT NULL COMMENT '行号',
  `begin_date` date NOT NULL COMMENT '结算起始日期',
  `end_date` date NOT NULL COMMENT '结算结束日期',
  `total` numeric(19, 2) NOT NULL COMMENT '本次结算金额',
  `tax` numeric(19, 2) NOT NULL COMMENT '本次结算税额',
  `sales_total` numeric(19, 2) NOT NULL COMMENT '本次销售提成总额',
  `sales_tax` numeric(19, 2) NOT NULL COMMENT '本次销售提成税额',
  `subject_uuid` varchar(38) NOT NULL COMMENT '科目uuid',
  `tax_rate` numeric(19, 4) NOT NULL COMMENT '税率',
  PRIMARY KEY (`uuid`),
  INDEX `idx_smdetail_1`(`statement_uuid`, `line_number`)
) COMMENT = '账单明细表';
——End——
更多精彩分享,可扫码关注微信公众号哦。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值