Context and Challenge
Guesty provides an all-in-one solution for property managers, including integrations with OTAs like Airbnb, Vrbo, and Booking.com. One of Guesty’s core strengths is its connectivity with external booking channels. However, this also introduces complexity — especially when dealing with variable fees and ownership models.
Guesty faced two major pain points in its accounting module:
- Manual calculation of Booking.com fees: When property managers accepted payments via Booking.com’s payment processor, they had to manually go through reservations, calculate additional processing fees, and enter them into Guesty’s accounting module. This was time-consuming, error-prone, and particularly burdensome for managers handling large portfolios.
- Lack of fractional ownership feature: Previously, each property could only have one owner. All accounting tasks for co-owned properties had to be done manually, with managers calculating and splitting revenues and expenses by hand in the system.
These manual processes led to inconsistencies, increased workloads, and potential for financial discrepancies.
Client’s Objectives
Guesty aimed to solve the pain points of the platform’s users by creating two features: automated processing of Booking.com additional fees and fractional ownership in accounting.
As part of Guesty’s ongoing efforts, our team joined their R&D department. We supported the development of advanced accounting features and ensured a seamless user experience at scale.
The core objectives of this collaboration included the following:
- Build automated processing for Booking.com’s additional fees: Guesty wanted to create an automated workflow that would identify and calculate Booking.com additional fees and integrate them into the accounting module.
- Support Guesty in the development of a fractional ownership feature: Guesty needed a feature that would allow property managers to define multiple stakeholders for a single property, each with a specified percentage of ownership. The goal was to automatically split income, expenses, and other financial metrics based on ownership shares.
- Automate key financial workflows for end users: To improve operational efficiency, the platform needed to automate all calculations and data updates related to fractional ownership and third-party service fees.
- Ensure real-time synchronization of data across systems: When developing and integrating new features, it was critical for Guesty to maintain up-to-date financial records across all systems. A key objective was to ensure that all data — especially booking details, payments, and fees — would sync in real time.
- Maintain platform performance as features and data scale: With the addition of complex accounting features and an increasing volume of data, we needed to maintain the system’s speed and responsiveness. Guesty’s objective was to implement a scalable architecture that could support growth without compromising performance for end users.
How We Approached the Project
When working on the accounting feature development, Forbytes followed a well-structured, collaborative, and technology-driven approach. In our work, we paid particular attention to the following aspects:
- Cross-team collaboration Our team worked closely with Guesty’s product and financial R&D teams to analyze existing systems, define user needs, and design the technical architecture. We planned the necessary changes to the database structure, including how data would be extracted, processed, and displayed.
- Accounting and financial data mapping: Together with Guesty’s R&D teams, Forbytes’ engineers implemented logic to accurately map Booking.com data into Guesty’s accounting module, ensuring all fees are calculated dynamically and are displayed correctly in user accounts.
- Fractional ownership feature planning: We planned out the design of the feature that would support multiple owners per property, enabling automatic transaction splits and accurate reporting based on ownership percentages.
- Automation and observability: Forbytes’ team ensured continuous data synchronization, implemented real-time monitoring, and provided post-launch support for both features.
Accounting Feature Overview
Automated Booking.com Processing Fee in Accounting
When a booking is processed through Booking.com’s payment system, it incurs a dynamic processing fee. We helped Guesty automate the tracking and reconciliation of these fees.
How it works:
- Booking.com transfers fund data to Guesty, automatically deducting its processing fee.
- Guesty’s system identifies and applies the correct fee for each reservation.
- Property managers can automatically allocate this fee either as an expense or a charge to owners or property management companies (PMCs).
- The fee is auto-filled based on Booking.com data, eliminating manual entry.
Image source: guesty.com
This ensures accurate fee reconciliation and simplifies the user workflow with just a few clicks in the business model settings.
Fractional Ownership in Accounting
This feature allows Guesty users to assign multiple owners to a property and define ownership percentages. All financial transactions — from charges to revenue — are automatically divided based on these percentages.
Image source: guesty.com
Key capabilities:
- Owner reservations are recognized and processed as 100% allocations to the reserving owner.
- The accounting folio displays all transactions under separate tabs for each owner.
- Revenue and expense splits reflect the defined ownership stake.
- Statements and reports dynamically adjust to reflect changes in ownership and offer precise data per stakeholder.
- Managers can reprocess past reservations to reflect updated ownership distributions.
Detailed Execution Timeline
The development of the fractional ownership feature and additional Booking.com fee processing was delivered in several well-defined stages:
- Initial analysis and requirement gathering. This phase included reviewing existing accounting workflows, identifying edge cases, and outlining automation opportunities.
- Architecture and data model design. Our engineers designed scalable data structures to support multiple ownership configurations and real-time fee processing.
- Booking.com fee processing automation. This phase involved real-time data fetching, calculation of actual revenue, and integration with Guesty’s accounting module.
- System integration and real-time sync. The new features were integrated with Guesty’s broader infrastructure, ensuring seamless communication between internal services and external platforms.
- Fractional ownership logic implementation. We developed the backend logic to split income, expenses, and financial reports according to predefined ownership shares.
- Testing and QA. Extensive unit, integration, and user acceptance testing were conducted to validate calculations, system performance, and UI accuracy.
- Deployment and continuous monitoring. Once the features passed QA, they were gradually rolled out to production with continuous monitoring in place.
Results and Impact
The newly implemented features brought measurable improvements:
- Full automation of previously manual accounting tasks.
- Error-free data synchronization with Booking.com.
- Consistent financial reporting, even for complex ownership setups.
- Reduced manager workload, especially for users with large property portfolios.
- Improved scalability, thanks to a clean technical design and efficient data processing logic
Technology Stack
Backend: Node.js, Typescript, Nest
Frontend: React, Redux
Database: MongoDB, PostgreSQL
Test tools: Mocha, Jest, Chai, Sinon
Cloud storage: Snowflake
Cloud platform: AWS, Google Cloud
Logs/Monitoring tools: Grafana, Prometheus, AWS CloudWatch, InfluxDB, Coralogix, Kibana, Datadog
Virtualization: Docker, Nomad
Continuous integration: Circleci, Jenkins, Split.io, GitHub, Vault, Jira
Other tools: Redis, Rabbit, MQKafka
Key Takeaways and Lessons Learned
Success factors:
- Technology alignment: Together with Guesty’s R&D teams, we selected the right tools and architectural design to ensure scalability and performance.
- Collaboration with multiple teams: The success of this project relied on close communication between Forbytes engineers, Guesty’s internal teams, and Booking.com’s data providers.
- Adaptability: We effectively integrated with legacy systems and continuously supported the feature rollout post-launch.
Challenges overcome:
- Maintaining performance at scale: With thousands of users, performance could not be compromised. We carefully optimized queries, reduced data processing time, and ensured efficient database joins.
- Integration with Booking.com’s legacy system: We adapted our solution to the nuances of an older system while ensuring modern standards within Guesty’s architecture.
- Cross-functional data coordination: We bridged financial data from various sources — Booking.com, Guesty’s accounting module, and user business models — to deliver seamless experiences for property managers.