Skip to main content

Handling SuiteOps Ancillary Charges in QBO (VRPlatform)

Handling SuiteOps Ancillary Charges in QBO (VRPlatform)

Audience: Property managers and accounting partners using VRPlatform who collect ancillary guest charges (late check-outs, early check-ins, damage fees, etc.) through SuiteOps with Stripe as the payment processor, and sync accounting to QuickBooks Online (QBO).


What's happening

When you collect an ancillary fee through SuiteOps (e.g. a late check-out charge) and Stripe processes the payment, VRPlatform syncs the Stripe payout to QBO as a journal entry. The payment amount is visible in both VRPlatform and QBO.

However, VRPlatform does not automatically generate a QBO invoice for these SuiteOps-originated charges. This is expected behavior — the current integration posts the payout journal entry but does not create a corresponding accounts-receivable invoice for each individual fee.


Why no invoice is created

SuiteOps charges processed through Stripe are captured as part of the overall Stripe payout, not as discrete reservation-level invoices. VRPlatform posts the payout journal to QBO but does not have a mechanism to decompose that payout into individual guest invoices automatically.


The workaround: manually reclassify in the Stripe payout journal entry

To ensure your SuiteOps charges are correctly reflected in QBO, you can manually split and reclassify the relevant amounts within the Stripe payout journal entry that VRPlatform posts to QBO.

Steps:

  1. Find the Stripe payout journal entry in QBO. Navigate to your QBO general ledger or journal entries and locate the Stripe payout that corresponds to the deposit containing the SuiteOps charge.

  2. Open the journal entry. Click into the entry to view the individual line items.

  3. Identify the SuiteOps fee amount. The payout total will include all charges processed through Stripe for that period. Identify the line(s) that represent your SuiteOps ancillary fees.

  4. Split out the SuiteOps fee lines. Add new line items to the journal entry to isolate the SuiteOps fee amounts. Assign each line to the appropriate income account (e.g. "Late Check-Out Fees", "Ancillary Guest Fees", or whichever account you use to track this revenue).

  5. Save the updated journal entry. Once saved, the revenue will be properly categorized in QBO even without a separate invoice being generated.

Tip: If you collect several types of ancillary fees through SuiteOps, consider creating dedicated income accounts in QBO (and mapping them in VRPlatform's QBO chart-of-accounts settings) so future reclassifications are faster.


Frequently asked questions

Do I need a QBO invoice for these charges, or is a journal entry enough? For most accounting workflows, correctly categorized journal entries are sufficient for revenue recognition. However, if your business requires invoices for guest-facing documentation or AR aging, you'll need to create those manually in QBO — VRPlatform does not generate them automatically for SuiteOps charges.

Will VRPlatform ever automate this? Automatic QBO invoice generation for SuiteOps/Stripe ancillary charges is not currently available. Check the VRPlatform Release Notes for updates on new integration capabilities.

I can't find the payout journal entry in QBO — what should I check? Make sure your QBO sync is active and that the payout has been fully processed by Stripe. In VRPlatform, go to Connections → QuickBooks Online and verify the sync status. If entries are missing, try a manual sync or contact VRPlatform support.

I use SuiteOps but don't use Stripe — does this apply to me? This article specifically covers the SuiteOps + Stripe combination. If you use a different payment processor with SuiteOps, your QBO sync behavior may differ — reach out to VRPlatform support for guidance specific to your setup.


Need more help?

If you have questions about your QBO chart-of-accounts mapping or need help identifying the correct income accounts for your ancillary fees, message us through Intercom and we'll be happy to help.

Did this answer your question?