热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SAP里面的销售税是如何确定的

SAP里面的销售税是如何确定的HowtaxworksinSAP?。今天,MAXONE公司的SD用户TRACY郭薇莹和FI用户MAY朱碧梅又为了税炒了起来,原来啊,MAXONE

SAP里面的销售税是如何确定的 

How tax works in SAP?

 

今天,MAX ONE公司的SD用户TRACY郭薇莹和FI用户MAY朱碧梅又为了税炒了起来,原来啊,MAXONE的增值税,是包括了三种情况,一种就是应税,简单的说,就是17%的增值税率了,一种就是零税率,就是0%的增值税了,还是一种是免税,tax exempt,其实这个和零税率是差不多的。

MAX ONE公司原来是用 ORACLE系统的,大家都知道ORACLE系统是比较灵活的,所以,在系统中,就设定了17%, 0%和免税等三种的税率,又因为MAX ONE公司大部分的业务都是内销的,都是17%,所以,他们在系统中,就设定了默认default的值是应税,17%,而在系统中,用户则可以手工去header抬头中修改税率,又或者在每一个行项目item中去修改;

而MAX ONE公司要从ORACLE转为SAP后,我们在做调研的时候,了解到在ORACLE里面是这三种税率的,于是,财务顾问蔡君 Jane Cai在和SD顾问黄伟 Wayne Huang商量以后,就在系统中设置了三种的税码tax code, 这三种税码的具体的设置如下:

在SAP中,配置税码的事务码是FTXP然后,你去选择要创建税码的国家,这个国家会自动与Tax Procedure税确定程序关联。Tax Procedure可以通过以下的菜单来创建 [IMG - Financial accounting - Financial accounting global settings - tax on sales/purchases - basic settings - Assign country to calculation procedure].

然后,你输入税码,这个税码必须是两位的,在这里,我们设了三种税码,S1是17%,S0是0%,而SE是免税TAX EXEMPT.另外,注意啊,你在设置税码的时候不能够设置奇怪的字符,如@,*等;不然的话,系统会出错不认的,OSS NOTE212806解释了这个问题。(当然,其实也没有什么解释了,就是叫你不要在税码中用奇怪的字符而已。)

好了,当你设定了税码TAX CODE后,你就可以进一步的定义税码的其他内容了,具体如下:

  • 税码的描述
  • 定义税的类型:定义该税码是进项税还是销项税
  • 定义信息指示符,意思是如果税额不对的话,系统是否会发出错误信息,建议勾上这个指示符。
  • Eu 码: 这个符号对于我们中国是没有什么用的,可以去留空。
  • 目标税码target tax code一般也是不用的,它主要是用于deferred taxes,一般是欧洲在用。
  • 报告国家: 如果你有用海外工厂的概念,那么你就填你的海外工厂,否则就不用填。

好了,设置了税码以后,就可以把税码分配给税的条件类型condition type, 一般来说,税的条件类型是MWST,或者如果不愿意用标准的MWST,那么,你也可以复制MWST,然后自己创建一个新的条件类型。要注意的是,条件类型有两种,一种是可以更改值的,另外一种是不可以更改值的,因为MWST税条件类型的严肃性,我们一般不主张去更改税率的。

好了,我们在说了如何设定税码以后,又要回到原来的问题了,就是在什么情况下会使用什么税码呢?根据我们中国的税法规定,主要有以下的这几种情况:

第一,如果是产品是出口的话,就是0%VAT;

第二,如果是客户是在报税区内经营,取得保税区的资格,那么卖给该客户的产品就如同出口,也是0%VAT;另外,还要注意的一点是,现在我们中国里面保税区的管理是有些混乱的,有很多没有取得保税区免税权利的企业也在报税区内办公的,当然了,这是一个题外话了。

第三,如果海外的第三方销售,那么就是免税VAT exempt.就是说海外的客户向我们下销售订单,而我们根据该销售订单向海外的供应商下采购订单,而由海外的供应商直接向海外的客户送货.(这个可是典型的海外的买空卖空行为啊),则是免税VAT exempt;

第四,如果客户是非政府组织NGO(Non Government Organization), 外国领事馆或者是UN联合国等有关外交单位,根据中国法律的规定,应该是免税VAT exempt;

第五,如果对于某些产品,如国家规定的,如避孕套等计生产品,是0%的。我何慕雄听了这里心里就嘀咕了,难道MAXONE公司产品线这么长,还会去生产避孕套吗?

第六,就是客户虽然是国外的,理论上是出口,但是实际上,应该是要收17%的税的;具体是什么内容呢?就是MAX ONE公司是一个包罗万象的公司,什么都做,什么都生产的;MAX ONE公司除了生产实物产品以外,还提供软件服务,MAX ONE公司为其美国总公司提供一些的软件服务,美国公司下单以后,MAX ONE就进行‘生产’,就是软件编程,在完成软件编程以后,就把完成编程的软件用发邮件的方式寄回去美国。MAX ONE公司有这方面的业务,而且业务量还不少;按道理来说,如果该业务是纯粹由私人完成的话,既然一切都是在网上完成的,那么就干脆不报税,逃税算了,但是MAX ONE是一家诚实守法的公司。于是,MAX ONE就去问税局,要求这种服务收入按照出口算;但是税局想要收一笔税钱,就问MAX ONE,如果这种的服务算出口的话,那么,是否有相应的出口单据呢?比如说装箱单,报关单等,MAX ONE就说并没有这方面的单据;MAX ONE 不甘心,于是又跑到海关去问,希望办理该软件的出口手续,海关就说,根据海关法,海关只是对进出境运输工具,货物,物品实施监督管理,而软件服务等无形商品,并不伴随有形货物进出口的,不属于海关监管范围。在海关那里碰了钉子以后,MAX ONE只好又去找税局了,税局是一门心思想要收到这笔的增值税的,于是就耐心问MAX ONE,这个的软件的服务是否都是发生在中国的境内呢?回答当然是是的,那么结论就很清楚了,因为这个服务的实施是在中国境内的,所以就要收17%的增值税了。好了,经过了一番的沟通以后,终于确定这些的软件出口的业务类型要收增值税了。

好了,终于确定了以上六种的业务类型,也确定了三种的税码,也确定了要使用MWST这种的条件类型以后,SD顾问黄伟 Wayne Huang和FI顾问朱碧梅 May Zhu就开始配置了,May负责配置税码,而Wayne负责配置条件类型;

具体的配置如下:

首先,我们确定决定税的条件有哪几个,基本上有四个,

一个是客户所在地的国家,要注意,这个客户指的是送达方ship to party,系统会去检查送达方客户主数据的国家,如果是非中国的话,那么就可以确定这笔业务是出口的业务,那么税率就可以是零了;这个国家在哪里设置呢?其实就是在客户主数据的一般数据中设置的;具体如下,你可以通过XD03或者是VD03来查看客户主数据的一般数据,如下图,如果送达方的国家是泰国的话,那么这个业务就是出口业务了,其税率为零。

一个是该客户的税的indicator指示符,就是说该客户的税码,上面我们说过,我们会帮客户设立三种税码的,分别是S1,17%税,S0,0%税和SE,免税的;可以相应的,我们也会在系统的配置中设立0,1,3等三种税指示符。你可以在客户主数据的销售数据中进行设置,我们在上面已经提到过,对于一些在中国境内,但是可以免税的客户,如在中国境内的非政府组织NGO(Non Government Office), 大使馆等,虽然他的地址是中国的,但是还是免税的;因为在客户的税码应该是设为SE,免税,而税的指示符是3,如下图,在XD03,修改客户主数据中找销售数据sales data,然后再找billing documents开票文件,在税的一栏中,把国家设为CN中国,Tax Category为MWST,而税的指示符设为3;

上面说到客户了,那么,物料呢,像避孕套等计生用品是不用税的,是免税的,因此,我们也会在物料主数据的销售视图1中维护税的指示符是3,具体的操作与客户主数据的操作相似,就是我们通过MM02进入修改物料主数据,然后选择销售视图1,在输入工厂plant和销售组织后,进入税的维护栏位,然后把国家设为CN中国,Tax Cateogry为MWST,而税的指示符为3;

我们向MAXONE超进公司的财务经理朱碧梅 May Zhu,介绍了在SAP中,税是由送达方的国家,客户和物料的税指示符而决定后,May提出了一个问题,就是如果送达方的国家是外国,应该是零税的,而客户的指示符又是1,是应该交税的,那么系统上的税应该是应税还是零税呢?

我何慕雄觉得这个问题真是问到点子上了,确实,在SAP中,如果同时有多个因素来影响一个值的话,那么一般会采用access sequence存取顺序的来解决的。

就拿这个MWST的税吧,SAP就制订了名为MWST的存取顺序,其顺序如下:

顺序1,- Departure country + Destination country(离开国家 + 到达国家,),这里的离开国家是指货物离开工厂plant的国家,而plant的国家是在做配置configuration时决定的;而到达国家是指送达方的国家;因为plant的国家一般是固定的,不能够变的,所以就由送达方的国家决定了

顺序2,Departure country + Customer tax classification + Material tax classification(离开国家+客户的税指示符+物料的税指示符),这个从字眼上就能够看清楚了,不用再做解释,这个主要是用于国内税的;

顺序3. Departure country + Destination country + Customer tax classification + Material tax classification(离开国家+到达国家+客户的税指示符+物料的税指示符),还是那句话,这个从字眼上就能够看清楚了,不用再做解释,而这个顺序主要是用于出口税的;

好了,界定了这三个顺序后,用户就根据自己的实际需求,用VK11来在系统上建立税的记录,具体如下,在输入VK11后,输入MWST的条件类型;然后,你就根据自己的实际需求来选择所需要的顺序并且是输入;

那么,在确定税的时候,系统就会一个一个按照顺序来找,如果在当前的顺序中找到了值,那么,系统就不再寻找了;而如果找不到,则继续找一下的值。好了,回应May的问题,如果国家是外国,而客户的税的指示符是1的话,系统会如何确定呢?很简单,按照存取顺序,系统会先找departure country/destination country, 而因为发货方是外国,而如果用户又已经用VK11来维护了这个国家的税的条件记录的话,那么系统就会拿发货方是外国的值,就是出口税为零,而系统也不会去看其他的顺序了。

用户的财务经理May听了以后,有点明白了,但是她是一个比较好学的,很爱研究的人,她接着又提了一个问题;既然国家country是取ship to party送达方的国家,那么,客户的税的指示符又应该去哪一种客户呢,是订货方sold to party, 送达方ship to party, 付款方payer还是开票方bill to party呢?呵呵,这个问题可就比较的复杂了,我就详细地和May解释了一下,基本上来说,税的指示符tax classification是由订货方sold to party和付款方payer决定的,具体如下:

1. 如果付款方payer有VAT税号,并且这个税号是和订货方sold to party一样的,那么VAT税号和税的指示符就由付款方payer来决定;

2.而如果上面的不成立,则如果送达方ship to party有税号而订货方sold to party没有,则税号和税指示符则由送达方ship to party来决定;

3. 而如果以上第二条不成立的话,则税号与税指示符则由订货方sold to party来决定的。

好了,客户的税的指示符tax indicator确定了。财务经理May又仔细看了看解决方案,突然,她发现好像上面说的第三种情况,海外第三方销售的问题还没有解决哦。

第三,如果海外的第三方销售,那么就是免税VAT exempt.就是说海外的客户向我们下销售订单,而我们根据该销售订单向海外的供应商下采购订单,而由海外的供应商直接向海外的客户送货.(这个可是典型的海外的买空卖空行为啊),则是免税VAT exempt;

我何慕雄看了看SAP标准的存取顺序A,B,C好像是真的没有哦,那么,我们就只能够再加一个存取顺序了,我看了一下MAXONE公司的配置,发现SD中是用一种订单类型来定义第三方销售的,而这个新的存取类型可以是sales order type + departure country + destination country + customer tax classification,订单类型+离开国家+到达国家+客户税指示符,意思是,如果订单类型是第三方销售,而离开国家和到达国家都是海外,税的指示符是3的话,那么,就是免税了。

但是,我们一般是不轻易改变SAP的标准的配置的,于是,我就问May,是否海外的第三方销售,就是海外的卖空和卖空是非常多的,答案是否定的,当然了,这个也可以理解了,在中国,有哪个客户会这么傻,专门去卖空和卖空呢?

听了我们讨论了这么久,在旁边一直不作声的客服经理Tracy问道:‘我们原来使用oracle的时候,是可以手工选择应税和免税的,现在可以吗?我说到,理论上是不可以的,因为SAP是讲逻辑严密的,是一般是不鼓励手工修改的,所以,SAP标准的税的条件类型MWST是不允许手工修改的。

但是,凡是总有例外,就像这种海外的第三方销售,买空卖空,因为发生的情况比较少,如果专门去改配置的话好像工作量比较大,所以,倒是可以采用手工修改的方法的。

而与Oracle不一样,SAP并不允许或者是建议直接去改税MWST的值,而是要去改销售订单中决定税的几个值,包括送达方的国家,和税指示码等,更灵活的是,你不但可以在header抬头对整张订单进行修改,而且,你更可以是修改某一item行项目;具体是如何呢?如果你要修改header抬头的话,那么,你可以进入VA02,修改销售订单,然后在goto-header-billing document那里去手工修改 税离开国家Tax depart. Country, 税到达国家Tax dest. Country和Alt. tax classific.税码等值,就可以了。

而如果要修改行项目呢?就要去以下的菜单了,goto- item – billing, 在里面,你只需要修改Tax classific.的值就可以了。

好了,在向用户培训后如何手工更改送达方的国家和税指示符以后,MAX公司的税务要求基本上是解决了。

但是,有一天,客服经理Tracy又跑过来问我何慕雄了,她说她有一个海外的客户,是属于出口的业务,但是,这次的生意要开增值税发票,于是,她就去订单的抬头那里去修改税的指示符tax indicator,把这个客户的指示符从0免税,改为1应税,但是订单中的MWST还是零哦,这是为什么呢?

我听了,笑着说,‘Tracy啊,你还是没有理解透access sequence存取顺序的含义啊。’正像我以前说的,现在系统中的标准顺序是

1.departure country/destination country

2. departure country/+ Customer tax classification + Material tax classification

而我说过,存取顺序的意思是,系统先看departure/destination country能不能取到值,如果取到值,那么就取该值,而不去看第二个存取顺序了;现在很明显,这个客户是海外客户,从第一个就可以取到0税的值了,那么系统就不会去看第二个customer tax classification了,所以你改了tax classification税指示符也没有用啊。如果你想要收17%的税的话,那么,你就把抬头header中的Tax dest. Country的国家改成为CN中国就可以了。

Tracy按照我说的回去改了以后,果然就可以对海外的客户收17%的增值税了。


推荐阅读
  • OpenWrt 是一款高度可定制的嵌入式 Linux 发行版,广泛应用于无线路由器等领域,拥有超过百个预装软件包。本文详细探讨如何在 OpenWrt 上通过 Luci 构建自定义模块,以扩展其功能。 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 本文深入探讨了企业级开发框架NHibernate和Spring.NET的关键特性之一——面向方面编程(AOP)。文章不仅介绍了AOP的基本概念及其如何增强面向对象编程(OOP),还详细说明了Spring.NET中AOP的具体应用,包括事务管理和自定义方面的实现。 ... [详细]
  • Python作为一种广泛使用的高级编程语言,以其简洁的语法、强大的功能和丰富的库支持著称。本文将详细介绍Python的主要特点及其在现代软件开发中的应用。 ... [详细]
  • 今天我在操作Git时遇到了一个问题,即我的仓库进入了分离的HEAD状态,这与之前讨论过的‘即使本地有更改,git push仍显示所有内容最新’的问题类似。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • Python图像处理库概览
    本文详细介绍了Python中常用的图像处理库,包括scikit-image、Numpy、Scipy、Pillow、OpenCV-Python、SimpleCV、Mahotas、SimpleITK、pgmagick和Pycairo,旨在帮助开发者和研究人员选择合适的工具进行图像处理任务。 ... [详细]
  • 每位开发者都应该拥有一个展示自我技能与分享知识的空间——个人技术博客。本文将指导你如何使用静态网站生成器Hexo结合GitHub Pages搭建这样一个平台。 ... [详细]
  • Flutter 高德地图插件使用指南
    本文档详细介绍了如何在Flutter项目中集成和使用高德地图插件,包括安装、配置及基本使用方法。 ... [详细]
  • 本文将详细介绍如何使用ViewPager实现多页面滑动切换,并探讨如何去掉其默认的左右切换动画效果。ViewPager是Android开发中常用的组件之一,用于实现屏幕间的内容切换。 ... [详细]
  • 本文探讨了如何利用自定义URI方案和注册表编辑,在Windows操作系统中实现从Web浏览器启动本地应用程序的方法,同时强调了这一过程中的安全考虑。 ... [详细]
  • 本文通过一个实际案例,详细介绍了如何使用Excel VBA和FSO(FileSystemObject)对象来提取指定文件夹中的所有文件名称,并将其以超链接的形式添加到Excel表格中。 ... [详细]
  • 一个产品数组拼图|集合 2 (O(1)空间) ... [详细]
author-avatar
左右印象摄影
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有