WooCommerce 税收设置(图文教程)

图片[1]-WooCommerce 税收设置(图文教程)-WP独立站学院
生成摘要
AI 生成,仅供参考

一、税收是什么:一个生活类比

先建立直觉。WooCommerce 的税收系统只做两件事:

  1. 找到正确的税率——根据客户地址匹配你预设的税率规则
  2. 用公式算出税额——把税率套到产品价格上

类比一下:税收系统就像一个自动报价器。客户在结账页填了地址,WooCommerce 拿这个地址去翻你的税率表,找到匹配的那一行(比如”美国 + 加州 → 7.5%”),然后算给客户看”你这单要加多少税”。

前台结账页:客户填了加州地址后,系统自动算出 California Sales Tax

至于税率数字怎么来、收多少才合法——那是你和会计师的事,WooCommerce 只管计算。


二、启用税收:总开关在 General 里

税收功能默认是关的。

🔛 2.1 打开总开关

进入 WooCommerce → 设置 → 常规,往下滚到”启用税收和优惠券”区域,勾选 启用税率和计算,点击 保存更改。
常规设置页:税费与优惠券 → 应用税收和计算(已勾选)

保存后,设置菜单里会多出一个 Tax 标签。点进去就能看到税收的所有设置项。

💡 如果没有看到 Tax 标签,说明上一步没保存,或者 WooCommerce 插件没激活。


三、最重要的决定:价格含税还是不含税

Prices entered with tax 这个选项决定了你填写产品价格时的逻辑,是整个税收系统的地基。选错的话,后续所有价格数字都可能对不上。
税相关选项页:价格输入时含税/不含税两个选项与税费计算依据

它有两个选项:

  • Yes, I will enter prices inclusive of tax:你填的价格已经含税了
  • No, I will enter prices exclusive of tax:你填的价格是税前价

💰 3.1 含税模式:我填的价格已含税

选这个,你输入产品的标价就是客户要付的总价。假设英国店铺,VAT 税率 20%,你想让产品卖 £9.99:

  • 你直接在价格栏填 9.99
  • WooCommerce 自动倒推:税前价 = £9.99 ÷ 1.2 = £8.325,税额 = £1.665
  • 英国客户结账看到 £9.99(含 £1.67 VAT)
  • 非英国客户(无税率匹配)看到 £8.33(不含税)

公式:税额 = 价格 - (价格 ÷ (1 + 税率))

这是英国、欧盟、澳大利亚 B2C 商店的常见做法。

🏷️ 3.2 不含税模式:我填的是税前价

选这个,你输入的是税前价格,WooCommerce 在结账时往上加税。还是那个例子,想卖 £9.99 含税:

  • 你在价格栏填 8.325
  • WooCommerce 结账时加上 20%:£8.325 × 1.2 = £9.99
  • 客户结账看到 £9.99

公式:税额 = 价格 × 税率

这是美国商店的常见做法(各州税率不同,定价时没法预知)。

🌍 3.3 跨境含税模式的坑

含税模式在跨境销售时要特别注意:客户看到的价格会随目的地税率变化。

举个例子,英国店铺(20% VAT),产品定价 £120 含税,卖到不同国家:

  • 英国客户(20%):付 £120(£100 税前 + £20 VAT)
  • 法国客户(19%):付 £119(£100 税前 + £19 Tax)
  • 挪威客户(25%):付 £125(£100 税前 + £25 Tax)
  • 无税率匹配的国家:付 £100(纯税前价,£0 税)

WooCommerce 的默认逻辑是:先剥掉你商店所在国的税,再按目的地加上当地税。所以含税定价的跨境店铺,不同国家的客户看到的最终价格可能不一样。

⚠️ 如果你想所有国家统一售价(自己吸收税率差异),需要用 woocommerce_adjust_non_base_location_prices 过滤器来改,这不是后台能点出来的设置。绝大多数店铺用默认行为就够了,但要知道这个机制存在,以免跨境定价出意外。


四、其余全局设置:一次性配好

进入 WooCommerce → 设置 → Tax,在”Tax options”标签下,除了含税不含税,还有几个设置需要一起看。

📍 4.1 按什么地址算税

Calculate tax based on 下拉有三个选项:

  • Customer shipping address(默认):按客户填的配送地址算税。实体商品用这个
  • Customer billing address:按客户填的账单地址算税。纯数字商品有时用这个
  • Shop base address:按你的商店地址算税,不管客户在哪。适用于只在本地销售、不需要区分目的地税率的情况

💡 跨境独立站默认选 Customer shipping address 就行。选了客户地址后,结账页必须让客户填完地址才会显示税——所以在没填地址前看不到税费是正常的,不是系统坏了。

🚚 4.2 运费税类

Shipping tax class 控制运费的税率怎么算。默认选 Shipping tax class based on cart items,意思是运费继承购物车中产品的税类。

继承逻辑(官方文档确认):如果购物车里有标准税率产品,运费按标准税率算;如果没有标准税率产品,则取”附加税类”列表中第一个税类的税率。

💡 如果你的国家运费税率和产品税率不同,可以在这里选一个固定税类(比如 Standard 或 Reduced rate),让运费始终走同一个税率。

📦 4.3 附加税类

Additional tax classes 文本框,一行一个税类名称。默认已经有 Reduced Rate 和 Zero Rate,你可以改名、删除或新增。

比如你可以新增一行 Digital Goods 作为数字商品专用税类。保存后,这些税类会出现在税率表子菜单里,并且可以在产品编辑页分配给产品。

⚠️ Standard 税类不可删除,它是 WooCommerce 的默认兜底税类。

👁️ 4.4 价格显示方式

两个下拉控制前端显示:

  • Display prices in the shop:商店页/产品列表/产品详情页的价格显示——含税还是不含税
  • Display prices during cart and checkout:购物车和结账页的价格显示——含税还是不含税

这两个设置可以和”Prices entered with tax”不一样,但如果你把它们弄成不一致的组合(比如产品填含税价,但商店页显示不含税),会导致 off-by-one 四舍五入误差——价格差一两分钱。WooCommerce 检测到这种不一致时会在后台顶部弹一个黄色警告条,点 Use recommended settings 可以一键统一。

🏪 4.5 价格后缀

Price display suffix 是加在价格后面的文字。可以用两个动态占位符:

  • {price_including_tax} —— 替换为含税价
  • {price_excluding_tax} —— 替换为不含税价

举例:填 含税 {price_including_tax},前端显示为”含税 $59.74″。填 不含税: {price_excluding_tax} 则显示税前价。

💡 如果你的店走不含税定价,但想在商品页用小字显示含税参考价,用 含税 {price_including_tax} 就能实现,不用插件。

📊 4.6 税收汇总方式

Display tax totals 控制结账页税费怎么展示:

  • As a single total:所有税合并成一行,显示默认文字”Taxes”
  • Itemized:逐条列出每种税的名称和金额。如果你在税率表里给 Tax name 填了名字(比如”加州销售税”),选 Itemized 后客户就能看到这个名称,比一个笼统的”Taxes”更专业

🔢 4.7 四舍五入

Round tax at subtotal level, instead of rounding per line:勾选后,税在小计层面四舍五入,而不是每个单品行都四舍五入。听起来差别很小,但在大量订单中可能导致几分到几毛的差异。这个按你的税务辖区要求来,不确定就问会计师。
税相关选项页下半:附加税类、价格显示与结账显示设置


五、手动填写税率表

全局选项配好了,接下来填实际税率。WooCommerce → 设置 → Tax 页面顶部有税类子菜单:Standard rates、Reduced rate rates、Zero rate rates(以及你自定义的税类)。点进一个开始填。

📝 5.1 进入税率表

点 Standard rates(或其他税类),你会看到一个空表格。点击 Insert row 添加一行,点击 Save changes 保存。
标准税率表:英国 VAT 20% 与美国加州 7.25% 示例行

🔤 5.2 十个字段逐个讲

每一行税率的字段:

  • Country code:ISO 两位国家代码。US / GB / DE 等。留 * 表示所有国家。WooCommerce 支持在输入框里直接打字搜索国家名
  • State code:两位州/省代码(如 CA 表示加州)。留 * 或不填表示该国的所有州省
  • Postcode / ZIP:邮编。支持多种格式:具体邮编用分号分隔(90210; 90211),前缀通配(902* 匹配所有 902 开头的邮编),数字范围(2000...3000 匹配 2000 到 3000 之间)
  • City:城市名,分号分隔(London; Manchester)。注意:客户输入必须完全一致才能匹配,”Cape Town” 不会匹配 “Capetown”
  • Rate %:税率百分比。填 20 表示 20%,支持四位小数(7.5000)
  • Tax name:税的名称,客户结账时会看到。比如 VAT、GST、Sales Tax。配合 Itemized 显示方式一起用效果更好
  • Priority:优先级。同一地址如果有多条规则匹配,选优先级数字最小的那条。1 优先级最高。想对同一区域定义多个不同税率时,给它们分不同优先级
  • Compound:是否复合税(税上税)。绝大多数跨境场景不需要勾,除非你的税务辖区明确要求
  • Shipping:这个税率是否也适用于运费。默认勾选,如果你所在的辖区运费不征税,取消勾选

⚠️ Priority 是关键概念但容易被忽略。举个例子:你想全美国收 5%,但加州单独收 7.5%。那么加州 7.5% 的行 Priority 填 1,全美 5% 的行 Priority 填 2——系统先匹配加州(Priority 1),命中后就不再往下看 Priority 2 的规则了。如果把两行 Priority 都填成 1,结果就不可预测。

🇺🇸 5.3 美国各州销售税示例

美国各州税率不同,下面是几个常见州的配置示例:

CountryStateRate %Tax NamePriority
USCA7.2500California Sales Tax1
USNY4.0000New York Sales Tax1
USTX6.2500Texas Sales Tax1
USFL6.0000Florida Sales Tax1

⚠️ 上面只是州级基础税率,实际很多城市和县还有附加税。美国销售税极为复杂,WooCommerce 官方文档明确建议使用 WooCommerce Tax 扩展做自动税率,手动维护容易跟不上税率变动。这些示例用于理解字段格式,生产环境请核实最新税率。

🇬🇧 5.4 英国 VAT 示例

英国 VAT 相对简单:

CountryRate %Tax NamePriority
GB20.0000VAT1

英国 VAT 就一行。如果你的产品中有适用减免税率(Reduced rate,5%)或零税率(Zero rate,0%)的商品,在对应税类下单独建规则。

💡 税率表支持 CSV 导入导出。建议手动填一行导出看看 CSV 长什么样,然后用 Excel 批量编辑再导入。CSV 的列顺序是:Country code, State code, ZIP/Postcode, City, Rate %, Tax name, Priority, Compound, Shipping, Tax class。


六、给产品分配税类

税率配好了,需要在产品上指定用哪个税类。

🏗️ 6.1 单个产品设置

进入任意产品编辑页,在 Product Data 面板的 General 标签下,找到两个字段:

  • Tax status:选 Taxable(产品和运费都征税)、Shipping only(只对运费征税,产品本身不征)或 None(完全不征税)
  • Tax class:从下拉选一个税类(Standard、Reduced Rate、Zero Rate 等)

    产品数据面板:税状态(应纳税)与税类(标准)字段

不做任何修改的话,所有产品默认走 Standard 税类。

⚡ 6.2 批量修改税类

如果要给几十上百个产品统一改税类,去 产品 → 所有产品,勾选目标产品,顶部下拉选 Edit,点 Apply,在弹出面板里找到 Tax class 字段统一修改。

批量编辑面板:勾选产品后统一修改税状态与税类

⚠️ Tax status 和 Tax class 是两个独立设置。Tax status 选 None 的话,Tax class 选什么都没用——产品直接不参与税收计算。常见错误:产品零税率(比如儿童食品)应该 Tax status 选 Taxable,Tax class 选 Zero rate,而不是直接把 Tax status 设为 None。两者区别:None 是不参与税收(订单里不出现税行),Zero rate 是参与税收但税率 0%(订单里会出现税行但金额为 0),后者在税务报表中更规范。


七、常见问题

❓ 7.1 税费显示为 0

按以下顺序排查:

  • 先去 WooCommerce → 设置 → 常规,确认 启用税率和计算 已勾选并保存
  • 去 WooCommerce → 设置 → Tax → Standard rates,确认至少有一条税率规则
  • 检查你的税率规则是否真的匹配客户的地址——国家代码、州代码、邮编都填对了没有?比如你只配了 US-CA,但测试用了一个纽约地址,系统匹配不到任何规则,税就是 0
  • 检查那个产品的 Tax status 是不是被设成了 None

🧮 7.2 产品价格数字对不上

最常见的原因是”Prices entered with tax”、”Display prices in the shop”、”Display prices during cart and checkout”三个设置不一致。如果产品填的是含税价、商店显示的是不含税价、购物车又是含税价,会导致 WooCommerce 来回倒算产生四舍五入误差。去 WooCommerce → 设置 → Tax 看页面顶部有没有黄色警告条,有的话点 Use recommended settings 一键对齐。

🎭 7.3 含税模式下改了价格,现在新旧产品价格逻辑不一致

“Prices entered with tax”的切换不影响已有产品——只影响你之后新创建的产品。已有的老产品不会自动转换价格。如果你决定从含税切不含税(或反过来),需要对已有产品逐个检查并手动调整价格数字。同样地,批量编辑时后台不提示这个影响,改之前先备份。

🔍 7.4 后台设置被灰掉了,改不了

检查 WooCommerce → 设置 → Tax 顶部是否有 Enable automated taxes 选项被勾选了。这是 WooCommerce Tax 扩展的功能——开启自动税率后,大部分手动税收设置会被接管并灰掉。如果你不需要自动税率,取消勾选 Disable automated taxes 再保存就能恢复手动设置。

Tax 页面顶部:Automated taxes 开关(Disable automated taxes 下拉)

💸 7.5 我跨境卖到多个国家,税率表要建多少行

取决于你的业务范围。以手动维护为例:如果只卖英国一种商品,一行 GB 20% 就够了。如果要卖到全美 50 州,每个州一行。如果要卖到欧盟 27 国,每个国家一行。手动维护超过 20-30 个辖区就比较吃力了,考虑用 WooCommerce Tax 自动税率扩展,或者至少用 CSV 导入导出 + Excel 来管理税率表。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 共13条

请登录后发表评论