Компания также недавно разрабатывает систему инвентаризации и использует Kingdee, который является относительно успешным в отрасли, для анализа и обучения, чтобы улучшить свой бизнес-уровень. Самое главное в системе инвентаризации – это расчет прихода и расхода, себестоимости и прибыли.
Введение в основной процесс работы
Основной процесс исходящей операцииучаствующие роли
Роли, участвующие во входящих и исходящих операциях, можно увидеть в элементах учета в системе Kingdee.Эта роль очень важна и включает в себя следующую структуру таблицы.
Видно, что ролей много, потому что Kingdee — это не только система инвентаризации, но и полноценная финансовая система.Незаменимыми ролями системы инвентаризации являются следующие:- Поставщик: система инвентаризации отправляет материал со склада поставщику, а поставщик поставляет систему на склад.
- Материал: наименьшая единица, участвующая в расчете запасов.
- Склад: один и тот же материал может одновременно появляться на нескольких складах, но одновременно для входящих и исходящих объектов может быть выбран только один склад.
Блок, который может управлять материалом в единице измерения
Обратите особое внимание на коэффициент конверсии в этой единице измерения. Например, коэффициент конверсии в приведенном выше поле равен 10, а единица является единицей по умолчанию, что означает, что 1 поле можно заменить на 10.Существует также роль стороны, которая инициирует входящие и исходящие сообщения (обычно входящие и исходящие инициирует компания), где все входящие и исходящие сообщения являются авторами, а структура таблицы временно игнорируется.
На складе и вне его
Откройте «Управление складом» -> «Складирование закупок/складирование продаж», в качестве примера возьмем складирование закупок.
Вы можете видеть, что основные поля входящего заказа имеют эти
- Поставщик (откуда поставляются эти товары)
- Дата инвентаризации
- Номер (неизменяемый, генерируется автоматически)
- Входящий материал
- Входящий склад
- Полученная сумма
- Единица полученной суммы
- цена за единицу товара
- количество
Метод ценообразования
В новом интерфейсе материалов Kingdee вы можете просмотреть методы ценообразования, которые в настоящее время поддерживаются системой.
В настоящее время широкое распространение в промышленности получили:
- скользящая средняя
- первым пришел-первым вышел Другие методы ценообразования в настоящее время используются меньше, и те, кто заинтересован, могут узнать о бухгалтерских знаниях. В настоящее время я знаком с методом FIFO, поэтому возьму в качестве примера метод ценообразования FIFO.
Дизайн стола
- Таблица входящих и исходящих документов
- Таблица материалов, связанная с входящим и исходящим документом
- Таблица баланса запасов партий материалов
- Таблица входных и выходных данных инвентаризации партии материалов
- Таблица поставщиков
- Материальная таблица
- Складские столы
- таблица единиц измерения
- инвентарный стол Вы можете видеть, что эта простейшая таблица инвентаризации партии также имеет 9 таблиц. Следующая таблица построена в порядке от простого к сложному, по мнению автора, а минимальная структура таблицы предназначена для удовлетворения требований входящего и исходящего хранилища.
таблица единиц измерения
В настоящее время коэффициент конверсии не учитывается и не участвует в конверсии инвентаря, поэтому поля таблицы единиц относительно просты. sql выглядит следующим образом:
CREATE TABLE `unit` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '物品编码',
`name` varchar(128) NOT NULL DEFAULT '' COMMENT '名称',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `name` (`name`) USING BTREE,
UNIQUE KEY `code` (`code`) USING BTREE COMMENT '`'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='计量单位';
Таблица поставщиков
В системе поставщик является объектом входящего и исходящего хранения, входящий материал закупается у поставщика, а исходящий материал возвращается поставщику.
CREATE TABLE `supply` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL DEFAULT '' COMMENT '名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='供应商表';
Складские столы
Таблица склада используется для идентификации склада, на котором находится материал.Один и тот же материал может существовать на нескольких складах.При входе на склад необходимо выбрать склад, на котором хранится материал.
CREATE TABLE `warehouse` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`organization_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '门店id',
`name` varchar(32) NOT NULL DEFAULT '' COMMENT '库房名称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='库房信息表';
инвентарный стол
Используется для учета запасов материалов на разных складах.При входе и выходе со склада необходимо синхронизировать количество запасов из партии в таблицу запасов.
CREATE TABLE `inventory` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`warehouse_id` bigint(20) unsigned NOT NULL COMMENT '库房ID',
`material_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '物料id',
`count` decimal(16,2) NOT NULL DEFAULT '0.00' COMMENT '总库存',
`lock_count` decimal(16,2) NOT NULL DEFAULT '0.00' COMMENT '占用库存',
`available_count` decimal(16,2) NOT NULL DEFAULT '0.00' COMMENT '可用库存',
`cost_amount` decimal(16,4) NOT NULL DEFAULT '0.0000' COMMENT '成本总金额',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`deleted_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_group_id_label_id_relation_id_type` (`warehouse_id`,`material_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='仓库库存表';
таблица материалов
Вещи являются основными объектами инвентаризационных операций.
CREATE TABLE `material` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`material_code` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '物品编码',
`name` varchar(45) NOT NULL COMMENT '名称',
`category_id` int(11) unsigned NOT NULL COMMENT '所属分类',
`category_name` varchar(45) NOT NULL COMMENT '分类名称',
`unit_weight` decimal(10,4) unsigned NOT NULL DEFAULT '0.0000' COMMENT '单位重量',
`base_unit_id` bigint(20) DEFAULT NULL COMMENT '主单位id',
`base_unit_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '主单位名称',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新日期',
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时期',
`deleted_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='物料';
Таблица входящих и исходящих документов
Таблица документов используется для записи количества входящих и исходящих документов, а также некоторой метаинформации документа, такой как поставщик, оператор, сумма документа, количество материалов в документе и т. д.
CREATE TABLE `in_out` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`type` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '1:采购订单 2:采购收货单 3:采购退货单',
`in_out_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '单号',
`warehouse_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '仓库ID',
`warehouse_name` varchar(64) NOT NULL DEFAULT '' COMMENT '仓库名称',
`supply_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '供应商id',
`supply_name` varchar(64) NOT NULL DEFAULT '' COMMENT '供应商名称',
`address` varchar(45) NOT NULL DEFAULT '' COMMENT '交货地址',
`count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '物料数量',
`amount_total` decimal(18,8) unsigned NOT NULL DEFAULT '0.00000000' COMMENT '当前单据总金额',
`amount_count` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '当前单据总数量',
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
`deleted_at` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_group_id_expense_sn` (`in_out_code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='单据表';
Таблица сопоставления материалов входящего и исходящего документа
Запишите подробную информацию о материалах на складе и вне его, такую как название материала, код, единица измерения, количество, цена за единицу, сумма, налог и другие основные поля, участвующие в расчете запасов.
CREATE TABLE `in_out_detail` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`warehouse_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '仓库ID',
`warehouse_name` varchar(62) NOT NULL DEFAULT '' COMMENT '仓库名称',
`in_out_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '单号',
`in_out_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '单号ID',
`in_out_type` tinyint(4) DEFAULT NULL COMMENT '单据类型',
`material_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '关联ID',
`material_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '关联物料名称',
`material_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '关联物料sn',
`unit_basic_name` varchar(32) NOT NULL DEFAULT '' COMMENT '基本单位名称',
`unit_basic_value` decimal(10,3) NOT NULL DEFAULT '1.000' COMMENT '基本单位数值',
`unit_basic_count` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '主单位数量',
`unit_basic_price` decimal(14,4) unsigned NOT NULL DEFAULT '0.0000' COMMENT '主单位不含税单价',
`unit_basic_tax_price` decimal(14,4) unsigned NOT NULL DEFAULT '0.0000' COMMENT '主单位的含税单价',
`unit_basic_total` decimal(18,8) unsigned NOT NULL DEFAULT '0.00000000' COMMENT '主单位不含税金额',
`unit_basic_tax_total` decimal(18,8) NOT NULL DEFAULT '0.00000000' COMMENT '主单位含税金额',
`tax` decimal(10,2) unsigned NOT NULL DEFAULT '0.00' COMMENT '税率',
`tax_total` decimal(18,8) unsigned NOT NULL DEFAULT '0.00000000' COMMENT '税额',
`production_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '生产日期',
`created_at` int(11) unsigned NOT NULL DEFAULT '0',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0',
`deleted_at` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_in_out_id_material_id` (`in_out_id`,`material_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1110 DEFAULT CHARSET=utf8 COMMENT='单据物料关联表';
Таблица партий материалов
Эта таблица партий предназначена для записи текущего состояния инвентаризации всех партий материалов.Теоретически, инвентаризация партии материалов использует не более 0 запасов.
CREATE TABLE `batch` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`code` int(11) DEFAULT NULL COMMENT '批次代码',
`warehouse_id` bigint(20) DEFAULT NULL COMMENT '仓库id',
`in_type` int(4) DEFAULT NULL COMMENT '入库单类型',
`in_id` bigint(20) DEFAULT NULL COMMENT '入库单的id',
`material_id` bigint(20) DEFAULT NULL COMMENT '物料、菜品、套餐关联id',
`end_tax_price` decimal(14,4) DEFAULT '0.0000' COMMENT '当前含税单价',
`end_price` decimal(14,4) DEFAULT '0.0000' COMMENT '当前不含税单价',
`end_count` decimal(10,2) DEFAULT '0.00' COMMENT '当前 主单位库存数量 要减去占用数量',
`end_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '当前不含税总金额(发生单据后这个值会发生变化)',
`end_tax_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '当前含税总金额',
`end_tax_total` decimal(18,8) DEFAULT '0.00000000' COMMENT '当前结存税额',
`cost_tax_price` decimal(14,4) DEFAULT '0.0000' COMMENT '原含税单价',
`cost_price` decimal(14,4) DEFAULT '0.0000' COMMENT '原不含税单价',
`cost_count` decimal(10,2) DEFAULT '0.00' COMMENT '原主单位库存数量',
`cost_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '原不含税总金额',
`cost_tax_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '原含税总金额',
`cost_tax_total` decimal(18,8) DEFAULT '0.00000000' COMMENT '原税额',
`gross_profit` decimal(18,8) DEFAULT '0.00000000' COMMENT '利润金额(含税:入-成本/出-成本)',
`lock_count` decimal(10,2) DEFAULT '0.00' COMMENT '占用/锁定数量',
`production_at` int(11) DEFAULT NULL COMMENT '生产日期',
`status` tinyint(1) DEFAULT '1' COMMENT '冻结为0 非冻结为1',
`remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`deleted_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='批次表';
Таблица моментальных снимков партии материалов
Запись моментальных снимков после каждого изменения таблицы материала партии
CREATE TABLE `batch_snapshot` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`batch_id` bigint(20) DEFAULT NULL,
`in_out_detail_type` int(4) DEFAULT NULL COMMENT '单据详情类型',
`in_out_detail_id` bigint(20) DEFAULT NULL COMMENT '入库单价',
`in_count` decimal(12,4) DEFAULT '0.0000' COMMENT '入库数量',
`in_total_amount` decimal(18,8) DEFAULT NULL,
`in_tax_total` decimal(18,8) DEFAULT '0.00000000' COMMENT '税额',
`in_tax_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '入库含税金额',
`out_price` decimal(14,4) DEFAULT '0.0000' COMMENT '出库单价',
`out_count` decimal(10,2) DEFAULT '0.00' COMMENT '出库数量',
`out_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '出库未含税金额',
`out_tax_total` decimal(18,8) DEFAULT '0.00000000' COMMENT '出库税额',
`out_tax_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '出库含税金额',
`out_cost_tax_price` decimal(14,4) DEFAULT '0.0000' COMMENT '出库成本单价(含税)',
`out_cost_price` decimal(14,4) DEFAULT '0.0000' COMMENT '出库成本单价(不含税)',
`out_cost_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '出库成本含税金额',
`out_cost_tax_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '出库成本不含税金额',
`out_cost_tax_total` decimal(18,8) DEFAULT '0.00000000' COMMENT '出库成本税额',
`end_price` decimal(14,4) DEFAULT '0.0000' COMMENT '当前未含税单价',
`end_tax_price` decimal(14,4) DEFAULT '0.0000' COMMENT '当前含税单价',
`end_count` decimal(10,2) DEFAULT '0.00' COMMENT '当前结存数量',
`end_total_amount` decimal(18,8) DEFAULT '0.00000000' COMMENT '当前结存未含税金额',
`end_tax_total_amount` decimal(18,8) unsigned DEFAULT '0000000000.00000000' COMMENT '当前结存含税金额',
`end_tax_total` decimal(18,8) DEFAULT '0.00000000' COMMENT '当前结存税额',
`updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
`created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`deleted_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '删除时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='批次快照表';
Основной алгоритм
В системе инвентаризации, поскольку операции, влияющие на инвентарь и количество, могут считаться основным алгоритмом инвентаризации, наиболее важным из них является метод ценообразования материала, поскольку метод ценообразования этого материала будет использоваться каждый раз. время поступления товара на склад и выхода из него, а также различные методы ценообразования напрямую влияют на стоимость и прибыль запасов.
Расчет стоимости: стоимость включает налог, поэтому налог должен быть включен при расчете стоимости. 1. Стоимость, введенная пользователем в систему, не включает налог, тогда системе необходимо использовать налоговую точку для расчета суммы налога и добавления ее к стоимости. 2. Стоимость, введенная пользователем в систему, включает налог, затем системе необходимо вычесть налоговый балл, чтобы получить стоимость без налога.
Алгоритм «первым пришел – первым вышел»: «первым пришел – первым вышел».
некоторые замечания
Сумма хранится в десятичном типе в mysql и представлена типом BigDecimal в java. Таблица моментальных снимков партий записывает только моментальные снимки запасов материалов партии и не участвует в расчете запасов и стоимости.
Постоянно обновляется...