如何将WooCommerce客户输入的采购订单号同步至Xero发票参考栏?
解决方案:将WooCommerce结账采购订单号同步到Xero发票参考栏
确认采购订单号存储字段
WooCommerce支付网关生成的采购订单号一般存在订单的自定义元字段中,常见字段名为_po_number。你可以在WordPress后台编辑订单,查看「自定义字段」板块确认实际字段名。添加自定义同步代码
由于插件无默认配置,需借助Xero插件提供的钩子wc_xero_pre_invoice_create修改发票数据。将以下代码添加到主题的functions.php文件,或使用代码片段插件(如Code Snippets):
add_filter( 'wc_xero_pre_invoice_create', 'sync_woocommerce_po_to_xero_reference', 10, 2 ); function sync_woocommerce_po_to_xero_reference( $invoice_data, $order ) { // 替换为你实际的采购订单号字段名 $po_number = get_post_meta( $order->get_id(), '_po_number', true ); if ( ! empty( $po_number ) ) { // 将采购订单号写入Xero发票的Reference字段 $invoice_data['Reference'] = sanitize_text_field( $po_number ); } return $invoice_data; }
- 测试验证
创建测试订单并填写采购订单号完成结账,前往Xero后台查看对应发票,确认「参考」栏是否已同步该号码。若未生效,检查订单自定义字段名,替换代码中的_po_number即可。
内容的提问来源于stack exchange,提问作者PH1
相关产品推荐
相关产品推荐

