HQ Rental Software
    • Getting started
    • Authentication
    • Base URLs, regions and versioning
    • Errors
    • Responses and pagination
    • HQ concepts and glossary
    • Custom fields and item types
    • Dates, time zones and money
    • Filtering and incremental sync
    • Guide: build a booking engine on your website
    • Guide: connect an OTA or broker
    • Guide: sync your fleet and prices to a website
    • Guide: sync invoices and payments to accounting
    • Guide: sync customers with a CRM
    • Guide: take payments
    • Guide: bill tolls and fines
    • Rate limits and idempotency
    • Webhooks
    • Car Rental
      • Comments
        • List the comments of a record
        • Create a comment
        • Update a comment
        • Delete a comment
        • List the comments of a reservation
        • Add a comment to a reservation
        • Delete a reservation comment
      • Currencies
        • List currencies
      • Emails
        • List email templates
        • Send an email template for a record
        • Send the reservation confirmation email
        • Send the rental agreement email
        • List the email templates of a reservation
        • Send an email template for a reservation
        • Create a quote and email it
      • Addresses
        • List the addresses of a record
        • Create an address
        • Get an address
        • Update an address
        • Delete an address
      • Fields
        • List the fields of a record type
        • Get a field by its column
        • List the customer form fields (booking step 5)
      • Blocked Days
        • List blocked days
      • Customer Credits
        • List the credit transactions of a customer
        • Add credit to a customer
        • Update a credit transaction
        • Delete a credit transaction
      • Fines
        • List fines
        • Create a fine
        • Get a fine
        • Update a fine
        • Delete a fine
      • Packages
        • List package items
        • Get a package item
        • List packages
        • Get a package
      • Quotes
        • List quotes
        • Get a quote
      • Rate Types
        • List rate types
        • Create a rate type
        • Get a rate type
        • Delete a rate type
        • Update a rate type
      • Rates
        • List rates
        • Create a rate
        • Get a rate
        • Delete a rate
        • List rates (v2)
        • Update a rate
      • Reservation Attempts
        • List reservation attempts
        • List reservation attempts by email
      • Extensions
        • List the extensions of a reservation
        • Extend a rental
        • Delete an extension
      • External Charges
        • List the external charges of a reservation
        • Add an external charge to a reservation
        • Delete an external charge
      • Adjustments
        • List the adjustments of a reservation
        • Add an adjustment to a reservation
        • Delete an adjustment
      • Payments
        • List the payments of a reservation
        • Record a payment on a reservation
        • Update a payment
        • Release an offline security deposit
        • Refund an online security deposit
        • Charge the customer's saved card
      • Refunds
        • List the refunds of a reservation
        • Record a refund on a reservation
        • Update a refund
      • Reservations
        • Confirm a reservation
        • Cancel a reservation
        • Set a reservation to pending
        • Set a reservation to quote
        • Mark a reservation as no-show
        • Mark a reservation as ready for pick-up
        • Get the options for the dates step (booking step 1)
        • Validate dates and list available vehicle classes (booking step 2)
        • Change the vehicle class of a reservation
        • List additional charges for a vehicle class (booking step 3)
        • Price a vehicle class with selected charges (booking step 4)
        • Create or update the booking customer (booking step 6)
        • Create the reservation (booking step 8)
        • Update a reservation
        • List reservations
        • Get the rental agreement link
        • Mark the rental agreement as signed
        • Get a reservation
        • Assign a vehicle to a reservation
        • Detach the vehicle from a reservation
        • List the vehicles available for a reservation
        • List the free vehicle class upgrades of a reservation
        • Apply a free vehicle class upgrade
        • Upload the driver signature
        • Upload pick-up or return photos
        • Search availability and prices for all vehicle classes
        • List reservations (API v2)
      • Vehicle Replacements
        • List the vehicle replacements of a reservation
        • Replace the vehicle of a rental
        • Delete a vehicle replacement
      • Reservation Agents
        • List the users that can be assigned as agents
        • Assign the agents of a reservation
        • Assign the return agents of a reservation
      • Seasons
        • List seasons
        • Create a season
        • Get a season
        • Update a season
        • Delete a season
      • Security Deposits
        • List security deposit rules
        • Get a security deposit rule
      • Availability
        • List availability of vehicle classes
        • Get availability of a vehicle class
      • Driver Licenses
        • Read a driver license barcode
        • Save a driver license barcode to a reservation customer
        • Upload a driver license image for a reservation customer
    • Filters
      • List filter types and operators
    • Contacts
      • List contact categories
      • Get a contact category
      • List contacts of a category
      • Create a contact
      • Get a contact
      • Update a contact
      • Merge contacts
    • Fleets
      • Additional Charges
        • List additional charges
        • Get an additional charge
      • Features
        • List features
        • Get a feature
      • Locations
        • List locations
      • Blocked Periods
        • List the blocked periods of a vehicle
        • Create a blocked period
        • Update a blocked period
        • Delete a blocked period
      • Branches
        • List vehicle makes
        • Get a vehicle make
        • List branches
      • Damages
        • List the damages of a vehicle
        • Create a vehicle damage
        • Get a vehicle damage
        • Update a vehicle damage
      • Vehicles
        • Models
          • List vehicle models
          • Get a vehicle model
        • Types
          • List vehicle types
          • Get a vehicle type
        • List the maintenance status of a vehicle
        • List vehicles
        • Get a vehicle
        • Update a vehicle
        • List vehicles for toll matching
      • Relocations
        • Create a relocation
        • Delete a relocation
        • List the relocations of a vehicle
      • Telematics
        • List the OBD readings of a vehicle
        • List OBD readings of all vehicles since a reading ID
        • List the telematics alerts of a vehicle
        • List the trips of a vehicle
        • List vehicle alert types
      • Maintenance
        • List repair orders
        • Create a repair order line
        • Update a repair order line
        • Delete a repair order line
        • Get a repair order
        • List maintenance types
      • Vehicle Classes
        • List vehicle classes
        • Get a vehicle class
    • Payment Gateways
      • List saved credit cards of a customer
      • Delete a saved credit card
      • List payment methods
      • Get a payment method
      • Get a payment button
      • Get a payment transaction by UUID
      • Create a payment transaction
      • Refund a payment transaction
      • Re-check a payment transaction
      • List payment transactions
    • Sheets
      • List sheet items
      • Create a sheet item
      • Get a sheet item
      • Update a sheet item
      • List sheets
      • Get a sheet
    • Files
      • List files of a record
      • Upload a file
      • Delete a file
    • Inventory
      • List inventory categories
      • Get an inventory category
      • Shows a list of inventory items
      • Finds inventory item by id
      • Finds inventory price by id
      • shows a list of inventory purchase order
      • Create purchase order
      • Finds purchase order by id
      • Returns report of purchase order
      • Cancels purchase order by id
      • Finds inventory stock by id
    • Invoice
      • List invoices available as e-invoices
      • Download e-invoices
      • Create invoice item
      • List invoice payments
      • Create an invoice payment
      • Get an invoice payment
      • Update an invoice payment
      • Spread a payment over a contact's open invoices
      • List invoices
      • Create an invoice
      • Get an invoice
      • Email an invoice
      • Void an invoice
      • Download an invoice PDF
    • Audit Logs
      • Lists the audit log entries
    • Countries
      • List countries
    • Taxes
      • List taxes
      • Get a tax
    • Users
      • List users
    • Products
      • Categories
        • List product categories
        • Create a product category
        • Update a product category
        • Delete a product category
      • List products
      • Create a product
      • Update a product
      • Delete a product
    • Schemas
      • RequestBodies
      • Money
      • SaveRepairOrderLine
      • ErrorBusinessRule
      • SaveBlockedPeriod
      • ErrorValidation
      • SaveVehicleDamage
      • ErrorNotFound
      • ErrorUnauthorized
      • ReservationSummary
      • ReservationTotal
      • AvailableVehicleClass
      • AdditionalCharge
      • ReservationOverview
      • ReservationPayment
      • FleetsPageInfo
      • FleetsEmptySuccess
      • VehicleDamage
      • BillingAmount
      • InvoiceLine
      • ReservationRefund
      • CustomField
      • Comment
      • PaginationFields
      • Country
      • CustomFieldAddress
      • FilterDescriptor
      • Tax
      • VehicleClassAvailability
      • CustomerCreditTransaction
      • DriverLicenseData
      • DriverLicenseResult
      • Fine
      • FineInput
      • PackageItem
      • Package
      • Quote
      • RateType
      • RateTypeWrite
      • RatePriceInterval
      • RateRecord
      • RateWrite
      • ReservationAttempt
      • ReservationExtension
      • ReservationAdjustment
      • ReservationStatusResult
      • VehicleReplacement
      • ReservationRecord
      • ReservationListItem
      • ReservationListPage
      • ReservationDetail
      • ReservationOverviewWithVehicles
      • Season
      • SeasonWrite
      • SecurityDepositRule
      • OtaVehicleClassAvailability
      • RateV2
      • ReservationDriverV2
      • ReservationListItemV2
      • ContactCategory
      • Contact
      • ContactInput
      • AttachedFile
      • FleetAdditionalCharge
      • Branch
      • VehicleFeature
      • Location
      • VehicleMaintenanceStatus
      • RepairOrder
      • ObdReading
      • VehicleAlert
      • VehicleTrip
      • BlockedPeriod
      • VehicleMake
      • VehicleClassImage
      • VehicleClassFeature
      • VehicleClass
      • VehicleRelocation
      • VehicleType
      • Vehicle
      • InventoryCategory
      • InvoicePayment
      • Invoice
      • InvoiceDetail
      • SavedCreditCard
      • PaymentGatewaySummary
      • PaymentMethod
      • PaymentTransaction
      • ProductCategory
      • Product
      • SheetItem
      • SheetItemInput
      • Sheet

    Guide: bill tolls and fines

    Use this guide to bill tolls, traffic fines and similar costs to the customer who had the vehicle at that moment.
    For each toll you find the reservation, add the toll to it, and optionally charge the customer's saved card and attach the toll invoice.
    For fines, one call does the matching for you.

    Step 1 - Map plates to vehicles#

    GET /fleets/vehicles returns your vehicles with their id and plate.
    Load it once a day and keep a plate-to-ID map.
    Send show_inactive=1 as well, so that vehicles sold or retired since the toll still match.

    Step 2 - Find the reservation#

    Ask for the reservation that had the vehicle at the time of the toll:
    ParameterMeaning
    on_dateWhen the toll happened, YYYY-MM-DD HH:mm, in the API user's time zone (see Dates, time zones and money). Convert the toll agency's time first.
    vehicle_idThe HQ vehicle ID.
    vehicle_plateThe exact plate, instead of vehicle_id.
    vehicle_plate_stateThe US state of the plate, together with vehicle_plate.
    toll_tag_numberThe toll tag, instead of the plate. Send it only when toll tags are set up in your account; otherwise it is ignored and only on_date applies, which matches every rental out at that moment, so send vehicle_id or vehicle_plate instead.
    The match uses every vehicle assignment of the reservation, including replaced vehicles, so it finds the reservation that had this vehicle at that exact moment.
    The reservations are in data:
    One reservation: bill it.
    None: the vehicle was not on rent at that moment.
    Check the time zone of on_date; if there is still no match, the toll does not belong to a customer.
    Several: the vehicle changed hands around that time.
    Compare the assignment dates in reservation_vehicle_information with the toll time.
    The match does not look at the reservation status, so check status before you bill, for example that it is rental or completed.

    Step 3 - Add the toll to the reservation#

    FieldMeaning
    vehicle_idRequired. A vehicle assigned to this reservation; any other vehicle returns "success": false.
    charge_dateRequired. When the toll happened, YYYY-MM-DD HH:mm, in the API user's time zone, like on_date.
    charge_amountRequired. The amount, with a dot as the decimal separator.
    labelThe name of the charge, for example the toll road and plaza.
    notesNotes, for example the toll agency's transaction ID.
    HQ adds the charge and recalculates the reservation totals.
    The response has data.reservation and data.external_charges, every external charge of the reservation with its id.
    There is no duplicate check, so posting the same toll twice bills it twice.
    Keep the toll transaction IDs you have already posted, for example in notes and in your own database.
    If the reservation includes the additional charge your account uses for unlimited tolls, tolls added this way are kept on the reservation but not added to its total.

    Step 4 - Charge the customer's saved card (optional)#

    POST /car-rental/reservations/{reservation_id}/payments/charge-credit-card with amount, the charge_amount from step 3.
    Skip reservations with unlimited tolls, whose total does not include the toll.
    To charge a fee, include it in charge_amount in step 3 or post it as its own external charge, so the reservation total matches what you charge.
    Read data.result in the response, which is HTTP 200 even when the card was declined; add send_payment_request=1 to email the customer a payment link when no saved card works.
    See Guide: take payments for the other options.

    Step 5 - Attach the toll invoice (optional)#

    POST /files/upload as multipart form data:
    FieldValue
    fileThe PDF.
    filenameRequired. A name for the file, for example toll-2026-05-23.pdf.
    item_typecar_rental.reservation_external_charges
    item_idThe external charge id from step 3.

    Fines#

    For traffic and parking fines, POST /car-rental/fines stores the fine and bills it in one step:
    FieldMeaning
    fine_numberRequired. The fine or ticket number.
    fine_typeRequired. For example Parking or Speeding.
    amountRequired. The amount of the fine.
    dateRequired. When the offense happened, YYYY-MM-DD HH:mm, in the API user's time zone.
    vehicle_plateRequired. The plate of a vehicle in HQ.
    fine_fileOptional. The scan of the fine, sent as multipart form data.
    paid_to_authorityOptional. 1 when you already paid the authority.
    notesOptional.
    HQ looks for the rental or completed reservation that had the vehicle at that moment and adds the fine to it as an external charge, with the fine's file attached.
    Use an API user set to UTC for fines, and send date in UTC.
    The response returns the fine with its reservation_id, which is null when no reservation matched.
    GET /car-rental/fines lists the fines and accepts vehicle_plate and reservation_id.
    Like tolls, fines have no duplicate check, so look the fine up in this list before you retry a POST.
    Fines are saved in the form your account uses for fines, so your HQ administrator must set up the fines form and its fields in the car rental settings before you use these endpoints.
    Modified at 2026-10-29 13:56:40
    Previous
    Guide: take payments
    Next
    Rate limits and idempotency
    Built with