热门标签 | 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%的增值税了。


推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 本文介绍了如何在使用emacs时去掉ubuntu的alt键默认功能,并提供了相应的操作步骤和注意事项。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
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社区 版权所有