Quotas: plans, periods and targets
Signed in? Ask Lovelio this question inside the app - it answers from this same page.
Quotas live under Settings, Hiring group, "Quotas" tab, next to Fees & Terms. They work with zero setup: the plan is created automatically with sensible defaults the first time anything quota-shaped is read, and periods create themselves as time passes. Nothing depends on a schedule or a cron, and nothing asks you to configure anything before it works.
The plan
Every agency has exactly one quota plan. Its defaults:
- Cadence: quarterly. Monthly and yearly are also available.
- Currency: your agency's billing currency, the same one your standard fee schedule uses. One currency per plan.
- A placement counts when the candidate starts. You can switch this to when the offer is accepted.
- Perm and contract both count. Perm placements count the placement fee. Contract placements count expected GP, which is computed from the charge rate, pay rate and term on the placement and stays directly editable there.
- Contract extensions count when the extension starts. You can switch extensions to not counted.
- Quarters start January, April, July and October. Change the start month for a different cycle, for example July for an Australian financial year.
- Locked periods refuse target changes. You can switch this off.
"Plan settings" on the Quotas page (the gear button in the period header) opens all of these, plus the company timezone. The page itself shows three setup steps (agency target, a share for each team, a number for each consultant) until every level has one, and beside every target it shows what is booked so far, the percentage, and where the agency lands on current pace (booked divided by the fraction of the period elapsed). Period boundaries are computed in your company's timezone, so a quarter ends when it ends for you, not in UTC.
Periods
A period is a month, a quarter or a year, depending on the plan's cadence. Periods are created automatically whenever a quota surface reads: opening the page, or stepping to a period nobody has opened before, creates it on the spot. The arrows at the top of the page move between periods.
A period is Open, Published or Locked. You set this with the status control on the period header. When the plan says locked periods refuse changes (the default), a Locked period rejects every target write until you set it back.
Locking also freezes the period's figures. When a period locks, its recognised totals are stamped and every quota surface shows that frozen result - a locked quarter's figures never change. If a placement counted in a locked period later changes (falls off, gets its fee corrected, moves date, or has its split rewritten), the locked figure stays put and the difference posts automatically to the current open period as an adjustment. Unlocking a period clears the frozen figures and live numbers resume.
Adjustments
Adjustments are a ledger of amounts added or removed, either by hand or automatically. A manual adjustment credits or debits a consultant (or the agency as a whole) inside a period, with a reason - a deal carried over, a split entered wrong. Add one on the Placements dashboard's Adjustments view (Clients page, Placements tab), or through the assistant with the "Add quota adjustment" action: the amount (negative to debit), the reason, and optionally the consultant and a period. Locked periods refuse adjustments. Manual rows in an unlocked period can be removed from the same view. Automatic adjustments are posted by Lovelio itself when a placement recognised in a locked period changes; they name the placement and cannot be removed, because they are what keeps the totals correct. The Adjustments view is visible to admins and team leaders only.
"Copy previous period" copies the previous period's agency target and every team and consultant target into the period you are looking at, replacing whatever it held.
Targets
Targets exist at three levels: the agency, each team, and each consultant. Every level is optional. A blank field means no target, not zero, and nothing anywhere requires a target to be set.
The agency target sits at the top of the page with an allocation bar showing how much of it is allocated to teams. Each team card shows the team target, the consultants on that team with their personal targets, and each consultant's share of the team. Targets are a hierarchy with a hard cap: team targets can never add up to more than the agency target, and the consultants on a team can never add up to more than the team target. A write that would break this is refused with a message saying the most that row can have, and lowering a target below what is already shared out beneath it is refused too (lower the rows below first). The check runs on the server, so it holds for the settings page, the assistant action and every other door alike. A level with no target puts no cap on the level below. The page shows what is not yet allocated at each level. Consultants on no team appear under "No team" with personal targets of their own.
Targets can also be set through the assistant with the "Set quota target" action: name the team or the consultant's email, give the amount, and it applies to the current period unless you name another.
What a consultant's number is
A consultant's billings are the sum of their credit shares on placements. When a placement's fee is split across consultants, each person's share is what counts towards their target, so a 50/50 split counts half the fee for each. This is true everywhere the same number appears: the Booked card on the home page (your shares this period against your target, with the receipt behind it), the quota board on the Placements dashboard, analytics grouped by consultant, and reports. A placement counts on the plan's recognition basis - the candidate's start date by default, or the offer date - and only if its type (perm, contract) is included by the plan. The Quotas page needs the team-settings permission, the same as Fees & Terms.
Where progress shows
Quota progress against targets lives on the Placements dashboard's Overview (Clients page, Placements tab): your own recognised billings always, plus the agency, team and consultant figures if your role sees the whole agency. Team data visibility scopes the board to your own teams. The Booked card on the home page shows the same personal figure. Placement forms and the placement record show a one-line hint saying which period the placement counts towards.
Slack tells each consultant privately. When a placement is logged, the "Placement Made" card announces it in your shared channel with no quota figures on it, and every consultant credited on that placement gets a direct message about their own standing: their recognised billings for the period, and how that compares with their target if one is set. Nobody sees anyone else's numbers. It needs the person's Slack account to be linked, and it follows the same on/off switch as the placement card itself.
You can also ask Lovelio analytics questions like "how is everyone tracking against quota", "booked against target by team" or "what is Sarah's quota target". The answers come from the same recognition figures as the quota board, for the current quota period, counting only the records you can see.
For integrations, the API has read-only quota endpoints (quotas:read scope): GET /v1/quotas/plan for the plan, GET /v1/quotas/periods for the periods, and GET /v1/quotas/periods/current (or a period id) for the full board with targets and the adjustments ledger. The board an API key sees is pruned to that key's data scope, the same way the dashboard is: a key that cannot see the whole agency gets its own teams and people, and never the agency figures or the agency target. Because quota data is what people earn and are measured against, a third-party app asking for it goes through the stricter Lovelio Connect review.