SAP工具箱 财务凭证清账处理

前言

财务凭证的未清项管理及清账是一个业务概念. AI给出了详细的解释(暂时无法分辨解释的正确程度)

本文主要介绍一个自开发的清账功能, 完成一些标准无法实现的功能,并优化业务的批量处理

829ed9caf8d06ddb396db703f00b7c05.png

标准清账功能

清账动作是未清项管理的一个重要动作.系统中的清账事务代码F-51

标准功能实际操作较复杂,可以完成总账,客户应付/付款,供应商应付/付款之类清账操作.

差异金额可以过账到新的客户/供应商头上.

似乎也允许在不同的客户之前勾选清账

a2e69a7b50b815e3a5f7dea72938436d.png

标准清账BAPI

目前没有找到一个单一的BAPI函数来执行清账的动作. 网络上找到的大致是如下函数的组合使用

  • POSTING_INTERFACE_START

  • POSTING_INTERFACE_CLEARING

  • POSTING_INTERFACE_END

上述函数的本质似乎是调用BDC创建财务凭证(貌似财务的很多BAPI都是BDC的过程).

因此考虑把上述函数封装到一个清账函数中

Z_BC_F_51_POST_CLEARING

该函数允许执行收款并清账, 付款并清账 . 同时允许指定供应商或客户接收清账的剩余金额,产生新的应收/应付行

e86ca072d0a6a5a37d7b63633a72ca9b.png

3b8438f0e3d2305bf1e8bc7673648b90.png

8ac5d943b874c2d849da48ebb34a7abf.png

清账的两个处理方式

  • 勾单清账

  • 自动清账

01

勾单清账

用户在指定界面勾选供应商付款/应付 或客户应收/收款. 根据勾选的情况创建清账单据,最后过账清账单据,完成清账处理

客户勾单清账  ZDQZ_INI

供应商勾单清账 ZDQZ_INIK

具体处理详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱 收款清账

在上述基础上优化了部分配置

清账单类型配置. 

  • 清账单的号码范围获取

  • 清帐单类别

  • 清账产生的会计凭证类型

  • 产生的清帐单的自动审批/自动过账

0469fca030b854cca375e32aad775418.png

应收/收款, 应付/付款的识别(配置表实现)

如果没有配置, 所有行按SHKZG识别为借方/贷方. 配置的部分,会识别成相应的应收/收款或应付/付款. 用于更加明确的执行客户或供应商清账的勾选分类

625de336bc03a731435ff145cf1ec670.png

02

自动清账

按特定维度统计的信息,如果借贷的绝对值差异金额在一个允许的范围内/或者为0. 则触发该统计维度相关单据行的自动清账.

示例

指定公司代码应收行中通过增强把发票号写入到分配字段. 收款凭证中把相同的发票号写入收款凭证收款行的分配字段. 金额于应收行一致.

这样, 就可以根据 公司代码/科目类型/客户/分配字段小计 , 小计金额为0 . 则于这个发票相关的未请凭证行就可以自动清账了.

配置表

ZTDQZ_C2自动清账配置(限制条件,汇总字段,容差..)

df5713cea7bfa15b1048e8de51d6c6b0.png

其中区分了限制字段 及功能字段

限制字段

BLART_MUL 凭证类型限制(通过搜索帮助维护)

KTOKS_MUL 总账科目组限制(通过搜索帮助维护)

HKONT_MUL 总账科目限制(通过搜索帮助维护) 

KTOKD_MUL 客户账户组限制(通过搜索帮助维护) 

KUNNR_MUL 客户编号限制(通过搜索帮助维护) 

KTOKK_MUL 供应商账户组限制(通过搜索帮助维护) 

LIFNR_MUL 供应商账户限制(通过搜索帮助维护) 

UMSKZ_MUL 特殊总账标记(通过搜索帮助维护) 

功能字段

SUM_FIELDS参与统计的字段(通过搜索帮助选择),注意:公司代码/科目类型/科目/客户/供应商是默认小计字段, 这里补充其它小计字段,比如分配,参考,原因代码等字段

QZJERC   清账金额容差(当借方,贷方金额的差额的绝对值<=维护的金额,才触发清账)

REL_DQZ   设置清帐单审批标记

POST_DQZ  直接过账清帐单

DQZTY    清帐单类型

前述示例可以在配置表中配置如下内容

edfc9bd7da86b930a1e28cc618742d63.png

8598fa376cf3a0fb1ef03c9726b55fe3.png

执行程序 ZDQZ_ALL

3046e1b423268036fde15ac386237d28.png

执行后, 可以看到每个自动清账配置的匹配情况

其中

总行数 表示按照配置的维度 公司代码/科目类型/科目/客户/分配 参与统计的个数,

符合容差限制的行数 表示借-贷的绝对值 符合配置的容差范围的小计行

75cdb5e95e6672721371595d67f93957.png

点击显示数据,可以看到明细的小计信息.

6062b7e277517a6b3ed430ee0ae92e81.png

点击日志功能 可以查看之前执行的日志(包括测试运行,正式运行)

cfe0e6fccaa7b137830b9d84d16c2462.png

5c89118a876fefe74917b022b982a7e0.png

点击显示数据,可以看到当时小计的结果

自动清账也会产生清帐单. 通过配置允许自动审批清帐单和自动过账清账单.

也可以手工审批,过账清账单.

00a6aa66583d5246b21e9d65c0089d4c.png

标准自动清账配置

标准功能F.13的配置. 

开发完上述逻辑后, 研究了一下标准自动清账功能, 发现开发的自动清账和标准自动清账配置思路大同小异. 

标准的基于科目类型和科目起止配置附加小计字段.符合借方金额=贷方金额的小计项,将被自动清账.

区别在于标准只能基于起止科目配置小计字段, 自开发的允许通过更多的过滤条件配置不同的小计字段,并且允许了清账容差金额. 

6a5d77f1d7e4694064cf701681880d6d.png

0f5f771a0d217a656d42b1015a1505d0.png

01a2cf15b31670af49223c1aa3b090ed.png

总结

根据项目上的清账需求,再考虑程序的通用性,设计了上述自动清账逻辑.

存在特殊记账标记的凭证(通过特定字段关联未清及清账),可以使用该自动清账逻辑完整清账处理. 

处理过程中会产生清帐单,允许手动/自动审批清帐单 ,手动/自动过账清帐单(产生清账凭证)

勾单清账部分可以配置识别应付,付款,应收,收款, 针对勾选的行创建清账单并审批,过账. 

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

申请进入公众号讨论群提问或者参与话题讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值