美文网首页
MiniMall:财务微服务业务和数据结构

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

作者: Anbang713 | 来源:发表于2020-05-09 08:05 被阅读0次

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

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 = '账单明细表';

相关文章

网友评论

      本文标题:MiniMall:财务微服务业务和数据结构

      本文链接:https://www.haomeiwen.com/subject/sekhnhtx.html