Core Concepts
This guide explains the core entities in Recruso CRM and how they relate to each other. Understanding these concepts is essential before working with the API.
Agencies
An Agency is a tenant of the multi-tenant CRM system. Each agency has its own configuration and operates independently of others.
- Defines its work week (e.g. Monday–Sunday or Sunday–Saturday).
- Sets up holiday year, holiday caps, and other compliance rules.
- Can have one or more branches in different locations.
Branches
An Agency Branch represents a physical office or operational unit of an agency.
- Each branch belongs to exactly one agency.
- Used to manage clients, workers, and bookings at the local level.
Clients
A Client is a company that engage the agency to provide workers.
- Each client belongs to one agency branch.
- Clients can have multiple sites and contacts (people) associated with them.
- Clients can have different billing and payment terms.
- Clients can be categorized (e.g. Current, Archived).
- Agencies may set special rules or restrictions for clients (e.g., banning certain workers).
Sites
A Site is a physical location of a client where workers are assigned to work.
- Sites can have specific address details and contact persons.
- Sites are used to manage bookings and timesheets.
- Sites can have specific working hours or restrictions.
Workers
A Worker is an individual who is registered with the agency to perform work for clients.
- Workers belong to one agency branch.
- Workers can have different employment types (e.g., Temporary, Limited).
- Workers can have various skills and availability schedules.
- Workers can be assigned to multiple bookings.
- Workers can have compliance documents (e.g., right to work, certifications).
- Workers can be categorized (e.g., Active, Archived, Not Suitable).
- Workers can have different pay rates and charge rates.
- Workers can be linked to external payroll systems (e.g., Sage, Staffology).
- Workers can have holiday entitlements and track holiday taken.
- Workers can have bank details for payments.
- Workers can have tax codes and NI numbers for payroll.
- Workers can have emergency contacts.
- Workers can have notes and activity logs.
- Workers can have documents (e.g., CV, ID).
Availability
Worker Availability defines when a worker is available to work.
- Availability can be set for specific days and times.
- Availability is used to match workers to bookings.
- Availability can be overridden by bookings or holidays.
Bookings
A Booking represents an assignment of a worker to a client site for a specific date and time.
- Bookings belong to one client site and one worker.
- Bookings have a start and end date/time.
- Bookings can have different statuses (e.g., Confirmed, Lost).
- Bookings can have different pay rates and charge rates.
- Bookings can have timesheets associated with them.
- Bookings can be recurring (e.g., weekly, monthly).
Plans (Weekly Plans)
A Plan is a grouping of bookings for a worker at a site within a week.
- Plans have a date and hours worked.
- Plans can have different statuses (e.g., Completed, Not completed).
- Plans are used to generate timesheets and invoices.
- Plans can have notes and activity logs.
- Plans can be linked to payroll systems for payment processing.
- Plans can be linked to invoicing systems for billing clients.
- Plans can have adjustments (e.g., bonuses, deductions).
- Plans can have holiday taken.
Invoices
Invoices are generated from completed plans.
- Invoices belong to one client and can cover multiple plans of a week.
- Invoices have a total amount, tax, and due date.
- Invoices can be linked to external accounting systems (e.g., Sage Acounts and Xero).
- Invoices can have credit notes.
Creadit Notes
Credit Notes are adjustments to invoices.
- Credit Notes belong to one invoice.
- Credit Notes have a total amount and reason.
- Credit Notes can be linked to external accounting systems (e.g., Sage Acounts and Xero).
- Credit Notes can be issued for various reasons (e.g., overbilling, cancellations).
Subcontractors
A Subcontractor is a third-party company that provides workers to the agency.
- Subcontractors belong to one agency branch.
- Subcontractors can have multiple workers associated with them.
- Subcontractors can be categorized (e.g., Active, Archived).
- Subcontractors can have documents (e.g., contracts, insurance).
Summary
Understanding these core concepts and their relationships is crucial for effectively using the Recruso API.
- Agencies are the tenants of the system.
- Branches represent physical offices.
- Clients are companies that engage the agency.
- Sites are locations of clients.
- Workers are individuals who perform work.
- Availability defines when workers can work.
- Bookings assign workers to client sites.
- Plans group bookings for payroll and invoicing.
- Invoices bill clients for completed plans.
- Credit Notes adjust invoices.
- Subcontractors provide additional workers to the agency.
👉 Next, review the Authentication guide to start making secure API calls.