Thuế và thông tin vận chuyển ở cấp tài khoản

Content API cho phép bạn chỉ định thuế và thông tin vận chuyển sẽ áp dụng cho tất cả các sản phẩm trong một tài khoản thông qua dịch vụ shippingsettingsaccounttax. Nếu muốn chính xác hơn, bạn có thể chỉ định thuế và thông tin vận chuyển ở cấp mặt hàng thông qua dịch vụ products.

Để biết thông tin về các chính sách của Google cũng như toàn bộ các lựa chọn để chỉ định thuế và thông tin vận chuyển, hãy xem các bài viết sau trong Trung tâm trợ giúp:

Xin lưu ý rằng thuộc tính tax và do đó sử dụng dịch vụ thuế tài khoản chỉ áp dụng cho các sản phẩm nhắm mục tiêu đến Hoa Kỳ.

Các dịch vụ Content API và thuế vận chuyển trong tài khoản phản ánh chức năng của giao diện người dùng Merchant Center.

Ví dụ đơn giản

Đối với phí vận chuyển 8 euro ở Pháp và dựa trên phí của hãng vận chuyển ở Hoa Kỳ, trong đó mỗi dịch vụ vận chuyển cần 3-7 ngày để giao hàng:

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "Livraison Prioritaire",
      "deliveryCountry": "FR",
      "currency": "EUR",
      "rateGroups": [
        {
          "singleValue": {
            "flatRate": { "currency": "EUR", "value": "8" }
          }
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
    },
    {
      "name": "UPS in US",
      "deliveryCountry": "US",
      "currency": "USD"
      "rateGroups": [
        {
          "singleValue": { "carrierRateName": "ups" },
          "carrierRates": [
            {
              "name": "ups",
              "carrierName": "UPS",
              "carrierService": "Ground",
              "originPostalCode": "10011"
            }
          ]
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
    }
  ]
}

Để truy xuất tên và dịch vụ của nhà mạng có sẵn, hãy dùng phương thức getsupportedcarrier.

Ví dụ phức tạp

Để tạo chương trình khuyến mãi miễn phí vận chuyển ở các tiểu bang xung quanh New York (bằng cách không tính phí vận chuyển), hãy sử dụng UPS cho phần còn lại của Hoa Kỳ và áp dụng mức thuế khác nhau cho mỗi tiểu bang của Hoa Kỳ, hãy sử dụng các yêu cầu đối với các dịch vụ taxtaxshippingsettings của Content API như sau. Trước tiên, hãy thiết lập chế độ cài đặt thông tin vận chuyển:

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "Eligible for free shipping",
      "deliveryCountry": "US",
      "rateGroups": [
        {
          "mainTable": {
            "rowHeaders": {
              "locations": [
                { "locationIds": ["21167"] }, // NY
                { "locationIds": ["21164", "21139"] }  // NJ, CT
              ]
            },
            "rows": [
              {
                "cells": [
                  {
                    "flatRate": { "currency": "USD", "value": "0" }
                  }
                ]
              },
              {
                "cells": [
                  {
                    "flatRate": { "currency": "USD", "value": "0" }
                  }
                ]
              }
            ]
          }
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
      "currency": "USD"
    },
    {
      "name": "UPS in US",
      "deliveryCountry": "US",
      "rateGroups": [
        {
          "singleValue": { "carrierRateName": "UPS mainland" },
          "carrierRates": [
            {
              "name": "UPS mainland",
              "carrierName": "UPS",
              "carrierService": "Ground",
              "originPostalCode": "10011",  // currently only US, AU, and DE postal codes
              "percentageAdjustment": "1.05",
              "flatAdjustment": { "currency": "USD", "value": "0.75" }
            }
          ]
        }
      ],
      "active": true,
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 },
      "currency": "USD"
    }
   ],
  "postalCodeGroups": [
    {
      "name": "More cities",  // An alternative using postal codes
      "country": "US",
      "postalCodeRanges": [
        { "postalCodeRangeBegin": "94041" },
        { "postalCodeRangeBegin": "94042" },
        { "postalCodeRangeBegin": "94043", "postalCodeRangeEnd": "94045" },
        { "postalCodeRangeBegin": "9405*" },
        { "postalCodeRangeBegin": "9406*", "postalCodeRangeEnd": "9408*" }
      ]
    }
  ]
}

Lưu ý rằng mã vị trí có thể dùng để đại diện cho khu vực hành chính.

Tiếp theo, hãy định cấu hình các khoản phí:

PUT /content/v2.1/<merchant_id>/accounttax/<account_id>
{
  "accountId": <account_id>,
  "rules": [
    {
      "country": "US",  // currently only US is supported, may be omitted
      "locationId": 21167,
      "useGlobalRate": true,
      "shippingTaxed": false
    },
    {
      "locationId": 21137,
      "useGlobalRate": false,
      "shippingTaxed": true,
      "ratePercent": "2.15"
    }
    // ...
  ]
}

Lưu ý: Phí của hãng vận chuyển chỉ áp dụng ở Hoa Kỳ, Đức và Úc. Nhóm vị trí hiện được hỗ trợ ở Hoa Kỳ và Úc.

Quy tắc vận chuyển phức tạp: bảng hai chiều và bảng phụ

Để xác định chương trình khuyến mãi vận chuyển là 7 USD tại Hoa Kỳ, 3 USD hoặc 5 USD cho các đơn đặt hàng có trọng lượng trên 10 lb tại New York, tuỳ thuộc vào giá của đơn đặt hàng và miễn phí cho người dùng dưới trọng lượng đó:

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "Custom shipping rules",
      "deliveryCountry": "US",
      "rateGroups": [
        {
          "mainTable": {
            "rowHeaders": {
              "postalCodeGroupNames": [ "NYC", "all other locations" ]
            },
            "columnHeaders": {
              "weights": [
                { "unit": "lb", "value": "10" },
                { "unit": "lb", "value": "infinity" }
              ]
            },
            "rows": [
              {
                "cells": [
                  { "flatRate": { "value": "0", "currency": "USD" } },
                  { "subtableName": "NYC large packages" }
                ]
              },
              {
                "cells": [
                  { "flatRate": { "value": "7", "currency": "USD" } },
                  { "flatRate": { "value": "7", "currency": "USD" } }
                ]
              }
            ]
          },
          "subtables": [
            {
              "name": "NYC large packages",
              "rowHeaders": {
                "prices": [
                  {"value": "100", "currency": "USD"},
                  {"value": "infinity", "currency": "USD"}]
              },
              "rows": [
                {
                  "cells": [
                    { "flatRate": { "value": "3", "currency": "USD" } }
                  ]
                },
                {
                  "cells": [
                    { "flatRate": { "value": "5", "currency": "USD" } }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "active": true,
      "currency": "USD",
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
    }
  ],
  "postalCodeGroups": [
    {
      "name": "NYC",  // Approximation of NYC using postal codes
      "country": "US",
      "postalCodeRanges": [
        { "postalCodeRangeBegin": "10000", postalCodeRangeEnd: "11999" }
      ]
    }
  ]
}

Quy tắc vận chuyển phức tạp: tách nhãn vận chuyển khỏi dịch vụ

Trong phần cài đặt thông tin vận chuyển, mỗi dịch vụ vận chuyển chỉ có thể chứa tối đa 20 nhóm phí vận chuyển. Vì các nhóm mức phí vận chuyển được dùng để phân biệt phí vận chuyển qua nhãn vận chuyển nên có vẻ như bạn chỉ có thể áp dụng 20 mức phí vận chuyển duy nhất thông qua nhãn vận chuyển. Tuy nhiên, bạn có thể có tối đa 20 dịch vụ vận chuyển mỗi quốc gia. Khi phân chia các mức phí vận chuyển phân biệt bằng nhãn vận chuyển cho nhiều dịch vụ cho cùng một quốc gia, bạn có thể phân biệt tới 400 mức phí vận chuyển riêng biệt thông qua nhãn vận chuyển.

Lưu ý: Nếu bạn có nhiều dịch vụ vận chuyển, thì mỗi sản phẩm của một quốc gia sẽ được so sánh với tất cả các dịch vụ vận chuyển cho quốc gia đó để tính phí vận chuyển có thể áp dụng. Nếu nhiều dịch vụ trả về cùng một mức giá cho cùng một sản phẩm, thì mức giá thấp nhất sẽ được sử dụng.

Ví dụ dưới đây phân chia 40 nhãn vận chuyển bằng cách sử dụng các mức phí duy nhất trên hai dịch vụ khác nhau. Ví dụ này ẩn các thông tin khác của tài nguyên vận chuyển, chẳng hạn như phí vận chuyển thực tế, phía sau dấu ba chấm.

PUT /content/v2.1/<merchant_id>/shippingsettings/<account_id>
{
  "accountId": <account_id>,
  "services": [
    {
      "name": "labels_0_19",
      "deliveryCountry": "US",
      "active": true,
      "currency": "USD",
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
      "rateGroups": [
        { "applicableShippingLabels": ["shipping_label_0"], ... }
        { "applicableShippingLabels": ["shipping_label_1"], ... }
        { "applicableShippingLabels": ["shipping_label_2"], ... }
        { "applicableShippingLabels": ["shipping_label_3"], ... }
        { "applicableShippingLabels": ["shipping_label_4"], ... }
        { "applicableShippingLabels": ["shipping_label_5"], ... }
        { "applicableShippingLabels": ["shipping_label_6"], ... }
        { "applicableShippingLabels": ["shipping_label_7"], ... }
        { "applicableShippingLabels": ["shipping_label_8"], ... }
        { "applicableShippingLabels": ["shipping_label_9"], ... }
        { "applicableShippingLabels": ["shipping_label_10"], ... }
        { "applicableShippingLabels": ["shipping_label_11"], ... }
        { "applicableShippingLabels": ["shipping_label_12"], ... }
        { "applicableShippingLabels": ["shipping_label_13"], ... }
        { "applicableShippingLabels": ["shipping_label_14"], ... }
        { "applicableShippingLabels": ["shipping_label_15"], ... }
        { "applicableShippingLabels": ["shipping_label_16"], ... }
        { "applicableShippingLabels": ["shipping_label_17"], ... }
        { "applicableShippingLabels": ["shipping_label_18"], ... }
        { "applicableShippingLabels": ["shipping_label_19"], ... }
      ]
    },
    {
      "name": "labels_20_39",
      "deliveryCountry": "US",
      "active": true,
      "currency": "USD",
      "deliveryTime": { "minTransitTimeInDays": 3, "maxTransitTimeInDays": 7 }
      "rateGroups": [
        { "applicableShippingLabels": ["shipping_label_20"], ... }
        { "applicableShippingLabels": ["shipping_label_21"], ... }
        { "applicableShippingLabels": ["shipping_label_22"], ... }
        { "applicableShippingLabels": ["shipping_label_23"], ... }
        { "applicableShippingLabels": ["shipping_label_24"], ... }
        { "applicableShippingLabels": ["shipping_label_25"], ... }
        { "applicableShippingLabels": ["shipping_label_26"], ... }
        { "applicableShippingLabels": ["shipping_label_27"], ... }
        { "applicableShippingLabels": ["shipping_label_28"], ... }
        { "applicableShippingLabels": ["shipping_label_29"], ... }
        { "applicableShippingLabels": ["shipping_label_30"], ... }
        { "applicableShippingLabels": ["shipping_label_31"], ... }
        { "applicableShippingLabels": ["shipping_label_32"], ... }
        { "applicableShippingLabels": ["shipping_label_33"], ... }
        { "applicableShippingLabels": ["shipping_label_34"], ... }
        { "applicableShippingLabels": ["shipping_label_35"], ... }
        { "applicableShippingLabels": ["shipping_label_36"], ... }
        { "applicableShippingLabels": ["shipping_label_37"], ... }
        { "applicableShippingLabels": ["shipping_label_38"], ... }
        { "applicableShippingLabels": ["shipping_label_39"], ... }
      ]
    }
  ],
  "postalCodeGroups": [ ... ]
}

Bạn cũng có thể cần phải tách nhãn vận chuyển giữa các nhóm phí ngay cả khi các nhãn vận chuyển có cùng mức phí vận chuyển, vì mỗi nhóm phí vận chuyển chỉ có thể có 30 nhãn vận chuyển trong trường applicableShippingLabels. Ví dụ: nếu tất cả các nhãn vận chuyển có cùng cấu trúc phí vận chuyển, thì shippingsettings có thể xử lý tối đa 12000 nhãn vận chuyển cho một quốc gia: 30 nhãn vận chuyển cho mỗi nhóm phí, 20 nhóm phí cho mỗi dịch vụ vận chuyển và 20 dịch vụ vận chuyển cho mỗi quốc gia.

Để biết thêm thông tin, hãy xem tài liệu tham khảo về thuế tài khoảnchế độ cài đặt thông tin vận chuyển.