Mensaje de impuestos y tarifas

Descripción general

El mensaje TaxFeeInfo define los impuestos y las tarifas que se aplican a un usuario cuando reserva una propiedad y se basa en las reglamentaciones fiscales de la propiedad que se describen en el sitio web. Para agregar datos de impuestos y tarifas, usa el mensaje de tarifa (OTA_HotelRateAmountNotifRQ).

La única acción admitida para este mensaje es overlay, que se usa para reemplazar los datos de impuestos y tarifas de cada propiedad. Es importante enviar actualizaciones de impuestos y honorarios siempre que haya cambios.

Métodos para agregar impuestos y tarifas

Existen dos formas generales de agregar impuestos y tarifas:

En el primer método, especificas AmountAfterTax en el mensaje de tarifa. Para agregar los impuestos y las tarifas, envías mensajes de tarifas que contienen las tarifas base por noche (sin impuestos ni tarifas) y las tarifas totales por noche (con todos los impuestos y las tarifas). Debido a que estas tarifas son por noche, este enfoque solo funciona para impuestos y tarifas basados en porcentajes o importes fijos por noche, y no se pueden usar impuestos ni tarifas por estadía.

El segundo método (preferido) es enviar solo las tarifas base nocturnas exclusivas de impuestos y tarifas en los mensajes de tarifas y usar TaxFeeInfo para transmitir los impuestos y las tarifas a nivel de la propiedad. Los impuestos y cargos individuales se pueden aplicar a tipos de habitación y planes de tarifas específicos, que se aplican a ciertos períodos.

En esta página, se describe y se hace referencia solo al método preferido de usar TaxFeeInfo y no al método de especificar AmountAfterTax en el mensaje de tarifa (OTA_HotelRateAmountNotifRQ).

Métodos para establecer impuestos

Tienes las siguientes opciones para configurar los impuestos:

  • Basis = [room|person]
  • Período = [stay|night]
  • Tipo = [percent|amount]

Cuando el período es stay y el tipo es percent, Google aplica impuestos y tarifas para toda la estadía, incluso si una sola fecha del itinerario se superpone con el período StayDates. No puedes especificar que se aplique un impuesto y una tarifa solo si TODAS las fechas del itinerario se superponen con el período de las fechas de la estadía.

Para ver ejemplos de varias situaciones relacionadas con los impuestos, consulta Instructivos. Los ejemplos abarcan algunas de las situaciones impositivas principales, incluidos los instructivos sobre los siguientes temas:

  • Impuesto porcentual
  • Impuesto fijo aplicado por propiedad
  • Impuesto porcentual que se aplica solo a las noches posteriores a la primera
  • Método para reemplazar los impuestos anteriores por los nuevos
  • Cómo incluir o excluir impuestos para los países
  • Cómo establecer un impuesto por tramos con corchetes
  • Establece el impuesto y la tarifa imponible

En las siguientes secciones, se incluyen lineamientos generales, un ejemplo básico y situaciones de cómo hacerlo para comenzar a agregar y actualizar tu información fiscal.

Elementos obligatorios y opcionales

En la referencia de XML, se proporcionan descripciones de los elementos obligatorios y opcionales. Para obtener detalles sobre los atributos y los elementos secundarios, consulta Elementos y atributos de TaxFeeInfo.

Sintaxis y esquemas

Usa el ejemplo de sintaxis TaxFeeInfo como referencia cuando crees el mensaje para asegurarte de que estás siguiendo el formato correcto. Puedes usar una herramienta XML de terceros, como xmllint, para validar tus feeds con los esquemas publicados antes de enviarlos a Google. Para obtener el esquema de mensajes TaxFeeinfo, consulta Esquemas de anuncios de hoteles.

Lineamientos

En esta sección, se describen los lineamientos comunes y las instrucciones especiales para configurar impuestos y tarifas.

Acciones

Superposición
Usa la acción overlay para reemplazar todos los impuestos de una propiedad. La acción overlay es la predeterminada y la única que se admite. Los impuestos y las tarifas anteriores de esta propiedad se borrarán una vez que se aplique esta actualización.

General

  • Cada Tax se evalúa y, si corresponde, se calcula en función del importe de AmountBeforeTax que se especificó en BaseByGuestAmt.

  • Después de que se calculan todos los impuestos y las tarifas aplicables, se agregan al precio base para formar el precio total.

  • La sintaxis de <Tax> y <Fee> es la misma.

  • Los impuestos y las tarifas pueden tener restricciones, como las siguientes:

    • Solo se aplica a tipos de habitaciones y planes de tarifas específicos.
    • Solo se aplica a fechas de estadía específicas.

    Estas restricciones son opcionales y no tienes que establecer todos los tipos de restricciones. Puedes dejarlas vacías si se aplican a todas.

  • Envía una actualización de TaxFeeInfo cada vez que haya un cambio en los impuestos o las tarifas.

Ejemplo

En esta sección, se proporciona un ejemplo básico de un mensaje TaxFeeInfo con elementos obligatorios y opcionales. Una vez que prepares tu archivo, deberás enviarlo a Google con un mensaje POST a este extremo:

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

Para obtener más información sobre cómo enviar o PUBLICAR el mensaje, consulta Envía mensajes.

En el atributo hotel_id, usa el ID de hotel único que usaste en tu sistema para identificar la propiedad. Este valor debe coincidir con el ID de hotel especificado con <id> en el elemento <listing> del feed de lista de hoteles. La coherencia con el sistema es fundamental para garantizar que Google muestre tus datos de forma correcta.

En este ejemplo, se muestra cómo establecer un porcentaje de impuestos del 10% y un importe de tarifa de USD 50 para una propiedad durante toda la estadía (no por noche):

<?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>

Para ver ejemplos de cómo agregar impuestos relacionados con la edad y otros ejemplos, consulta Ejemplos de impuestos.

Instructivos

En esta sección, se proporcionan soluciones a situaciones que puedes encontrar cuando configuras impuestos y tarifas.

Situación 1: Cómo agregar un impuesto fijo

En este ejemplo de impuestos, se muestra cómo establecer un impuesto fijo por propiedad.

Descripción

Quieres aplicar un impuesto fijo por la habitación o la estadía por propiedad, en lugar de un impuesto porcentual.

Solución

Usa amount en lugar de percentage para agregar la opción de impuesto fijo.

Muestra

En este ejemplo, se muestra cómo agregar un impuesto fijo con amount en lugar de 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>

Situación 2: Cómo segmentar los impuestos con ApplicableNights

Descripción

Quieres aplicar un impuesto de tarifa fija solo a las noches posteriores a la primera. Por ejemplo, hay una tarifa obligatoria por el uso diario de una determinada comodidad que se excluye de la primera noche, en la que los huéspedes no habrían tenido la oportunidad de usar esa comodidad en particular.

Solución

Usa <ApplicableNights excluded="1"/> para controlar a qué noches se les aplican impuestos.

Muestra

En este ejemplo, se muestra cómo usar 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>

Situación 3: Cómo reemplazar los impuestos y las tarifas anteriores por los nuevos

Descripción

Los impuestos y las tarifas actuales cambiaron y deben reemplazarse por otros nuevos.

Solución

Usa la acción overlay para quitar todos los impuestos y las tarifas existentes.

Muestra

En el siguiente ejemplo, se muestra cómo quitar todos los impuestos y las tarifas de una propiedad:

    <?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>

Situación 4: Cómo incluir o excluir impuestos para países

Descripción

Debes incluir el impuesto para ciertos países y excluirlo de otro. Por ejemplo, debes excluir los impuestos de una confederación más pequeña con impuestos fuera de la UE y, al mismo tiempo, aplicar impuestos a todos los demás países.

Solución

Usa las opciones include o exclude para UserCountries type. Usa include para aplicar el impuesto solo al país indicado o usa exclude para aplicarlo a todos los países, excepto el indicado.

Muestra

En el siguiente ejemplo, se muestra cómo configurar los impuestos para los usuarios fuera del país del hotel (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>

Situación 5: Cómo establecer el impuesto de las planchas con corchetes

Descripción

Quieres agregar un impuesto GST aplicado en función de las tarifas por noche.

Solución

En esta situación, supongamos que los tramos impositivos del GST del país de segmentación son los siguientes:

  • No se aplica ningún impuesto si la tarifa por noche es menor o igual que 1,000.
  • 12% de impuestos si la tarifa por noche es superior a 1,000 y menor o igual que 7,500.
  • Impuesto del 18% si la tarifa por noche es superior a 7,500.

Muestra

En el siguiente ejemplo, se muestra cómo configurar un impuesto en bloque con corchetes:

<?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>

Situación 6: Cómo establecer los impuestos y las tarifas imponibles

Descripción

Quieres agregar un impuesto, como el IVA, y otro cargo por servicio que también se aplique a ese impuesto.

Solución

En esta situación, se consideran dos ejemplos de casos de uso de tarifas gravadas:

  • Tanto el impuesto como la tarifa imponible se definen como cargos porcentuales.
  • El impuesto es un cargo porcentual, mientras que la tarifa imponible es un importe fijo por estadía.

Ejemplos

Tarifa imponible como porcentaje

En este ejemplo, el AmountBeforeTax es de USD 100, el impuesto GST es del 18% y el cargo por servicio adicional es del 5%, lo que hace que el porcentaje total de tarifas imponibles sea del 5.9% (5 × 1.18) y el importe total de la tarifa sea de USD 123.90 [= USD 118 (18% de GST) + USD 5.9 (5.9% de cargo por servicio)].

En el siguiente fragmento, se definen el impuesto (GST) y la tarifa taxable (cargo del servicio) como porcentajes:

<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>

Tarifa imponible como importe

Este ejemplo tiene un AmountBeforeTax de USD 100, un impuesto GST del 18% y una tarifa adicional de USD 20 de tasa fija, lo que hace que la tarifa total imponible de USD 23.60 (USD 20*1.18) y el importe total de la tarifa de USD 141.60 [= USD 118 (GST del 18%) + USD 23.60 (tasa fija de USD 20)

En el siguiente fragmento, se define el impuesto (GST) en porcentaje y la tarifa imponible (cargo del servicio) como un importe de tasa fija:

<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>