Thông báo về thuế và phí

Tổng quan

Thông báo TaxFeeInfo xác định các khoản thuế và phí áp dụng cho người dùng khi đặt phòng cơ sở lưu trú và dựa trên các quy định về thuế của cơ sở lưu trú được nêu trên trang web. Để thêm dữ liệu về thuế và phí, bạn hãy sử dụng thông báo Giá (OTA_HotelRateAmountNotifRQ).

Hành động duy nhất được hỗ trợ cho thông báo này là overlay, dùng để thay thế dữ liệu thuế và phí cho mỗi tài sản. Bạn cần phải gửi thông tin cập nhật về thuế và phí bất cứ khi nào có thay đổi.

Phương thức thêm thuế và phí

Có 2 cách chung để thêm thuế và phí: Trong phương thức đầu tiên, bạn phải chỉ định AmountAfterTax trong thông báo Giá; bạn thêm thuế/phí bằng cách gửi thông báo về giá trong đó có cả giá cơ bản mỗi đêm (không bao gồm thuế/phí) và tổng giá mỗi đêm (bao gồm tất cả các loại thuế/phí). Vì các mức giá này là mỗi đêm, nên phương pháp này chỉ áp dụng cho các khoản thuế/phí theo tỷ lệ phần trăm hoặc số tiền cố định mỗi đêm và không thể sử dụng thuế/phí mỗi lần lưu trú.

Phương thức thứ hai (nên dùng) là chỉ gửi giá cơ bản mỗi đêm (không bao gồm thuế/phí) trong thông báo giá và sử dụng TaxFeeInfo để truyền đạt thuế/phí ở cấp cơ sở lưu trú. Các khoản thuế/phí riêng lẻ vẫn có thể thuộc phạm vi của các loại phòng và gói giá cụ thể, và/hoặc áp dụng cho một số phạm vi ngày nhất định.

Phương pháp đặt thuế

Bạn có các lựa chọn sau để đặt thuế:

  • Cơ sở = [phòng|người]
  • Khoảng thời gian = [stay|night]
  • Loại = [percent|amount]

Khi Khoảng thời gian là stay và Loại là percent, Google sẽ áp dụng thuế/phí cho toàn bộ thời gian lưu trú ngay cả khi một ngày trong hành trình trùng với phạm vi StayDates. Bạn không thể chỉ định chỉ áp dụng thuế/phí nếu TẤT CẢ ngày trong hành trình trùng với phạm vi ngày lưu trú.

Để biết ví dụ về các trường hợp liên quan đến thuế, hãy xem bài viết Hướng dẫn. Các ví dụ bao gồm một số trường hợp hàng đầu về thuế, bao gồm Hướng dẫn cho:

  • Thuế phần trăm
  • Thuế cố định được áp dụng cho mỗi tài sản
  • Thuế theo tỷ lệ phần trăm chỉ áp dụng cho các đêm sau đêm đầu tiên
  • Phương thức thay thế thuế cũ bằng thuế mới
  • Bao gồm hoặc không bao gồm thuế cho các quốc gia
  • Dùng dấu ngoặc để đặt thuế slab
  • Đặt thuế và phí chịu thuế

Các phần sau đây trình bày các nguyên tắc chung, ví dụ cơ bản và các trường hợp hướng dẫn để giúp bạn bắt đầu thêm và cập nhật thông tin thuế.

Phần tử bắt buộc và phần tử không bắt buộc

Tài liệu tham khảo XML cung cấp nội dung mô tả về các phần tử bắt buộc và không bắt buộc. Để biết thông tin chi tiết về các thuộc tính và phần tử con, hãy xem Phần tử và thuộc tính TaxFeeInfo.

Cú pháp và giản đồ

Hãy dùng ví dụ về Cú pháp TaxFeeInfo để tham khảo khi tạo thông báo nhằm đảm bảo bạn đang dùng đúng định dạng. Bạn có thể sử dụng một công cụ XML của bên thứ ba như xmllint để xác thực nguồn cấp dữ liệu của mình bằng giản đồ đã xuất bản trước khi gửi cho Google. Đối với giản đồ thông báo TaxFeeinfo, hãy xem lược đồ Quảng cáo khách sạn.

Nguyên tắc

Phần này trình bày các nguyên tắc phổ biến và hướng dẫn đặc biệt để thiết lập thuế và phí.

Thao tác

Lớp phủ
Sử dụng thao tác overlay để thay thế tất cả các loại thuế của một cơ sở lưu trú. Thao tác overlay là thao tác mặc định và là thao tác duy nhất được hỗ trợ. Mọi khoản thuế và phí trước đó đối với tài sản này sẽ được xoá sau khi áp dụng nội dung cập nhật này.

Giải pháp chung

  • Mỗi Tax sẽ được đánh giá và nếu có, được tính dựa trên số tiền AmountBeforeTax đã chỉ định trong BaseByGuestAmt.

  • Sau khi tính toán tất cả các khoản thuế và phí hiện hành, các khoản thuế và phí này sẽ được thêm vào giá cơ sở để tạo thành tổng giá.

  • Cú pháp cho <Tax><Fee> giống nhau.

  • Thuế/phí có thể có những hạn chế, chẳng hạn như:

    • Chỉ áp dụng cho các loại phòng và/hoặc gói giá cụ thể.
    • Chỉ áp dụng cho những ngày lưu trú cụ thể.

    Những điều kiện ràng buộc này là không bắt buộc và bạn không phải đặt mọi loại quy tắc ràng buộc. Bạn có thể để trống các quy tắc ràng buộc này nếu phù hợp cho mọi loại quy tắc.

  • Gửi thông tin cập nhật về TaxFeeInfo mỗi khi có thay đổi về thuế hoặc phí.

Ví dụ:

Phần này đưa ra ví dụ cơ bản về thông báo TaxFeeInfo sử dụng các phần tử bắt buộc và không bắt buộc. Sau khi chuẩn bị tệp, bạn sẽ cần gửi tệp đó cho Google qua thông báo POST đến điểm cuối sau:

https://www.google.com/travel/hotels/uploads/taxes

Để tìm hiểu thêm về cách gửi/POST thông báo, hãy xem phần Gửi thông báo.

Đối với thuộc tính hotel_id, hãy sử dụng mã khách sạn duy nhất mà bạn đã dùng trong hệ thống để xác định cơ sở lưu trú. Giá trị này phải khớp với mã khách sạn được chỉ định bằng <id> trong phần tử <listing> trong nguồn cấp dữ liệu Danh sách khách sạn. Tính nhất quán với hệ thống của bạn rất quan trọng để đảm bảo rằng Google hiển thị chính xác dữ liệu của bạn.

Ví dụ này cho biết cách đặt tỷ lệ phần trăm thuế 10% và số tiền phí là 50 USD cho một cơ sở lưu trú trong tổng thời gian lưu trú (không phải mỗi đêm):

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-20T16:20:00-04:00"
            partner=""partner_key"
            id="12345678">
  <Property>
    <ID>HOTELID</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>10</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>50</Amount>
        <Currency>USD</Currency>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Để biết ví dụ về cách thêm thuế theo độ tuổi và các ví dụ khác, hãy xem phần Ví dụ về thuế.

Hướng dẫn

Phần này đưa ra giải pháp cho các trường hợp bạn có thể gặp phải khi thiết lập thuế và phí.

Tình huống 1: Cách thêm mức thuế cố định

Ví dụ về thuế này cho thấy cách đặt mức thuế cố định cho mỗi cơ sở lưu trú.

Nội dung mô tả

Bạn muốn áp dụng thuế cố định cho phòng/lượt lưu trú trên mỗi cơ sở lưu trú thay vì thuế theo tỷ lệ phần trăm.

Giải pháp

Sử dụng amount thay vì percentage để thêm tuỳ chọn thuế cố định.

Mẫu

Mẫu này cho biết cách thêm mức thuế cố định bằng cách sử dụng amount thay vì percentage:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>30</Amount>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Tình huống 2: Cách nhắm mục tiêu thuế bằng ApplicableNights

Nội dung mô tả

Bạn chỉ muốn áp dụng thuế phí cố định cho các đêm sau đêm đầu tiên. Ví dụ: Khách phải trả phí bắt buộc đối với việc sử dụng một số tiện nghi cụ thể hằng ngày. Phí này không áp dụng cho đêm đầu tiên khi khách lưu trú sẽ không có cơ hội sử dụng tiện nghi cụ thể đó.

Giải pháp

Sử dụng <ApplicableNights excluded="1"/> để kiểm soát những đêm áp dụng thuế.

Mẫu

Mẫu này trình bày cách sử dụng ApplicableNights:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Amount>50</Amount>
        <ApplicableNights excluded="1"/>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Trường hợp 3: Cách thay thế thuế và phí cũ bằng thuế và phí mới

Nội dung mô tả

Các khoản thuế/phí hiện tại đã thay đổi và cần được thay thế bằng những khoản thuế/phí mới.

Giải pháp

Hãy dùng thao tác overlay để xoá tất cả các khoản thuế và phí hiện có.

Mẫu

Mẫu sau đây trình bày cách loại bỏ tất cả các khoản thuế/phí của một cơ sở lưu trú:

    <?xml version="1.0" encoding="UTF-8"?>
    <TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
                id="12345678"
                partner="partner_key">
      <Property action="overlay">
        <ID>Property_1</ID>
      </Property>
    </TaxFeeInfo>

Trường hợp 4: Cách bao gồm hoặc loại trừ thuế cho các quốc gia

Nội dung mô tả

Bạn cần bao gồm thuế cho một số quốc gia nhất định, đồng thời không bao gồm thuế từ các quốc gia khác. Ví dụ: bạn cần loại trừ thuế cho một liên minh nhỏ hơn có thuế không thuộc Liên minh Châu Âu, đồng thời đánh thuế ở tất cả các quốc gia khác.

Giải pháp

Sử dụng các tuỳ chọn include hoặc exclude cho UserCountries type. Sử dụng include để chỉ áp dụng thuế cho quốc gia được liệt kê hoặc sử dụng exclude để áp dụng thuế cho tất cả các quốc gia ngoại trừ quốc gia được liệt kê.

Mẫu

Mẫu sau đây cho biết cách đặt thuế cho người dùng bên ngoài quốc gia của khách sạn (Israel):

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <UserCountries type="exclude">
          <Country code="IL"/>
        </UserCountries>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Tình huống 5: Cách đặt thuế sàn bằng dấu ngoặc vuông

Nội dung mô tả

Bạn muốn thêm thuế thuộc nhóm GST (thuế hàng hoá và dịch vụ) được áp dụng dựa trên giá mỗi đêm.

Giải pháp

Trong trường hợp này, giả sử khung thuế GST của quốc gia mục tiêu là:

  • Không tính thuế nếu giá mỗi đêm nhỏ hơn hoặc bằng 1.000.
  • Thuế 12% nếu giá mỗi đêm lớn hơn 1.000 và nhỏ hơn hoặc bằng 7.500.
  • Thuế 18% nếu giá mỗi đêm trên 7.500.

Mẫu

Mẫu sau đây trình bày cách đặt thuế theo thuộc tính có dấu ngoặc:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-28T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Brackets base_amount="0">
          <Bracket starts_at="1000.01" amount="12"/>
          <Bracket starts_at="7500.01" amount="18"/>
        </Brackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Trường hợp 6: Cách thiết lập thuế và phí chịu thuế

Nội dung mô tả

Bạn muốn thêm một khoản thuế, chẳng hạn như thuế GTGT, và một khoản phí dịch vụ khác cũng áp dụng cho khoản thuế đó.

Giải pháp

Trong trường hợp này, chúng tôi xem xét hai trường hợp sử dụng ví dụ về phí có thể tính thuế:

  • Cả thuế và phí chịu thuế đều được xác định là phí theo tỷ lệ phần trăm.
  • Thuế là phí theo phần trăm, còn phí chịu thuế là một số tiền cố định trên mỗi lượt lưu trú.

Ví dụ

Phí có tính thuế dưới dạng phần trăm

Ví dụ này có AmountBeforeTax là 100 USD, thuế GST là 18% và phí dịch vụ bổ sung 5% — nghĩa là tổng tỷ lệ phí có thuế là 5,9% (5*1,18) và tổng mức thuế là 123,90 [= 118 đô la (18% GST) + 5,9 đô la (phí dịch vụ 5,9%)].

Đoạn mã sau đây xác định thuế (GST) và phí chịu thuế (phí dịch vụ) dưới dạng tỷ lệ phần trăm:

<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
  id="12345678"
  partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>18</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>5.9</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Phí có thể tính thuế dưới dạng số tiền

Ví dụ này có AmountBeforeTax là 100 đô la, thuế GST là 18% và

Đoạn mã sau đây xác định thuế (GST) theo tỷ lệ phần trăm và phí chịu thuế (phí dịch vụ) dưới dạng số tiền thuế suất cố định:

<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
  id="12345678"
  partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>18</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>23.6</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>