VF01销售发票拆分

作者:ABAP三叔 约 4 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:CO, FI, SD, 财务, 销售分销
VF01销售发票拆 - 封面图
VF01销售发票拆 - 封面图

前言

使用场景:

1\. 交货单中行项目过多时,导致开票生成的会计凭证明细行超过999行,开票失败。 2.

需要按照物料类型、产品组或者一些自定义条件,将不同类物料拆分开票成多张销售发票。 本文将介绍SAP中如何来实现

VOFM新建发票拆分例程

1\. 路径:VOFM->数据传输->出具发票单据。

VF01销售发票拆 - 封面图
VF01销售发票拆 - 封面图

2\. 新建例程

VF01销售发票拆 - 封面图
VF01销售发票拆 - 封面图

3.根据需求编写代码

以下示例实现效果:按物料产品组拆分发票,并且当明细行超过300行时,再自动拆分生成新的发票。

重点:系统会将VBRK-ZUKRI(开票凭证的组合条件)相同的值,生成到同一张系统发票上

FORM daten_kopieren_901.*{ INSERT DEVK900641 1 DATA: BEGIN OF zuk, spart LIKE vbak-spart, "产品组 seq TYPE n LENGTH 3, "组号,每300一组 END OF zuk. STATICS: lv_count1 TYPE i. SELECT SINGLE spart INTO @DATA(lv_spart) FROM mara WHERE matnr = @vbrp-matnr. zuk-spart = lv_spart. lv_count1 += 1. zuk-seq = lv_count1 DIV 301 + 1. vbrk-zukri = zuk.

*} INSERTENDFORM.

4\. 选中例程,点击编辑->激活。

将例程配置到开票复制控制上

路径:SPRO->销售与分销->开票->开票凭证->开票凭证的复制控制->维护开票凭证的复制控制->定义交货凭证到开票凭证的复制控制

或者事务码:VTFLC

将拆分例程编号填写到如下图位置。

VF01销售发票拆 - 封面图
VF01销售发票拆 - 封面图

测试

单据测试结果如下。

VF01销售发票拆 - 封面图
VF01销售发票拆 - 封面图

单据流中可以看出来发票拆分成了三个。

VF01销售发票拆 - 封面图
VF01销售发票拆 - 封面图

ABAP三叔

关于作者:ABAP三叔

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「VF01销售发票拆分.md」整理生成,仅用于内部技术分享与学习交流。