Leave and absenceTime and attendancePeople operationsAI and agentsEU compliance

Mixed UoP and B2B Teams: Five Places Your HR Tool Blurs the Line

Mixed UoP and B2B Teams: Five Places Your HR Tool Blurs the Line

If you run a 30 to 120-person software house or product company in Poland or CEE, your engineering team almost certainly mixes two contracts: employment contracts (umowa o pracę) and B2B service contracts.

In your daily delivery tools, that distinction barely matters. Everyone commits to the same GitHub repositories, picks up issues from the same Jira or Linear board, and joins the same standup.

In your HR tool, that distinction is everything.

When the initial headlines around Poland's July 2026 labour inspectorate reform (Dz.U. 2026 poz. 473) quieted down, many leadership teams breathed a sigh of relief. Because the reform uses a two-stage procedure - a written order to fix the cooperation model first, and an administrative decision only if the issue is not addressed, backed by a 12-month transition period through 8 July 2027 - the acute panic disappeared from LinkedIn feeds.

Yet the underlying test in Article 22 §1 of the Labour Code has not changed. Whether a contractor looks like an employee depends on how the relationship runs in practice, and five everyday workflows in a standard HR system routinely blur the line between a commercial contractor and an employee.

(Product context, not legal advice - review your contracts and workspace setup with your legal counsel. Dla czytelników z Polski: pełne podsumowanie konfiguracji UoP + B2B po polsku znajdziesz na squadbear.pl/b2b-contractors/.)

1. Leave requests vs. unavailability notices

We covered the mechanics of the approve button as reclassification evidence in detail, because it is the most common mistake in mixed teams.

When a B2B contractor selects Urlop wypoczynkowy (annual leave), submits a request that sits in Pending approval, waits for a team lead to click Approve, and draws down a 26-day annual allowance, the HR system is recording four employment characteristics at once: statutory terminology, hierarchical subordination, an annual paid entitlement, and an audit trail of managerial consent.

The clean boundary:

  • Employees (umowa o pracę): Request statutory leave types (Urlop wypoczynkowy, Urlop na żądanie, Opieka art. 188, Siła wyższa), routed through manager approval, deducted from their annual balance.
  • B2B contractors: Record planned unavailability under a dedicated, neutral type - the Polish preset ships Dostępność B2B (which you can rename to Planowana niedyspozycja or Planned unavailability). It is granted at once, counts no balance, and sends the manager an informational notice rather than an approval request.
  • Guardrail against human error: Recording a person's contract form as B2B on their profile triggers a warning on the policy members list if they ever land inside a paid employee leave type, reminding the admin to mark them Not eligible.

2. Project hours for invoices vs. daily attendance clock-ins

Mixed teams need to know where engineering hours went so they can bill clients, track R&D capitalization, and verify monthly B2B invoices. Where teams get into trouble is forcing B2B contractors through rigid daily start-and-end shift rules designed for Labour Code working-time supervision (Art. 149 KP).

SquadBear keeps Time Tracking and Attendance as separate modules that you enable and assign independently:

  • Project and issue hours (Time Tracking): Both employees and B2B contractors log hours in the weekly grid against projects and Jira, Linear, GitHub or Asana issues. At month-end (on Team and Enterprise plans), people submit their period so the hours behind a B2B invoice lock and can be exported as CSV. SquadBear stores hours in minutes, never hourly rates or invoice amounts.
  • Daily clock-in and clock-out (Working Time): Reserved for teams tracking daily start, break, and finish times without GPS or surveillance. Even if a B2B contractor has a work schedule for capacity planning, days booked under Dostępność B2B automatically reduce their expected project hours so nobody chases them for a missing timesheet while they are away.

3. Monthly payroll files vs. accounting handoffs

At the end of the month, HR exports approved absences for payroll (exporting absences to payroll). If B2B contractors sit inside the same leave types as employees, your payroll specialist has to manually strip contractor rows out of the spreadsheet every single month before importing it into payroll software.

In SquadBear, the Symfonia R2Płatnik integration exports only paid leave types that an administrator explicitly maps to an R2Płatnik leave kind. Because Dostępność B2B is an unpaid, non-balance type, contractor unavailability never enters the R2Płatnik XLSX file, and never inflates your quarter-end PTO liability.

4. The ISO 27001 paradox: security controls for contractors without employment language

Software houses pursuing or maintaining ISO 27001 hit a classic contradiction between their security auditor and their labour lawyer:

  • Your ISO 27001 auditor insists that every person with access to production repositories and client data - B2B contractors included - must sign an NDA, acknowledge the current Information Security Policy (Annex A 5.1, 6.2, 6.6, 7.3), complete security awareness checkpoints, and go through a documented offboarding access-revocation checklist (Annex A 6.5, 5.18) when their contract ends.
  • Your labour lawyer warns you not to dump B2B contractors into an employee Regulamin pracy (Work Regulations) or employee disciplinary workflow.

How to satisfy both in one workspace:

  1. Target policy rollouts by audience. In SquadBear Documents and Policies, each policy version is locked with a SHA-256 fingerprint. You can roll out your Information Security Policy and Acceptable Use Policy to everyone with system access (employees and B2B contractors alike), while scoping employment-only documents to employees.
  2. Use separate onboarding and offboarding templates. Keep an employee joiner process for umowa o pracę (occupational health check badania wstępne, OSH training, employee tax forms) and a lean B2B cooperation start process (NDA upload, security policy sign-off, GitHub/Jira access provisioning). Both produce the timestamped ISO 27001 evidence your auditor asks for, without putting a contractor through an employment checklist.

5. Running a workspace B2B boundary check from your AI assistant

Because SquadBear is built around MCP, you do not have to click through 60 profiles to verify whether a contractor was accidentally enrolled in an employee policy last year. Connect Claude or ChatGPT under your own OAuth login and ask:

"List everyone whose contract is B2B, check whether any of them are eligible for paid employee leave types, and check who is away on the Platform team over the next two weeks."

Your assistant reads the live records under your permissions. Read-only checks return immediately. If you ask the assistant to change a leave policy or start a process, it prepares a 30-minute review proposal in SquadBear that requires a human click from your signed-in browser session (agent writes that wait for a human).

Start free (free up to 5 people, $4/seat/month on Team) and review our full Employees and B2B Contractors guide - or read the Polish edition at squadbear.pl/b2b-contractors/.

Related reading: B2B contractors and leave: the approve button is evidence, exporting absences to payroll without retyping, and how to keep policy acknowledgements current for audits.