Umowa o pracę and B2B start from the same gross figure but travel through completely different machinery to reach a net number. Under UoP, your employer runs the whole pipeline: PIT withholding on progressive 12%/32% bands, mandatory employee ZUS that includes sickness insurance whether you want it or not, and NFZ on top, all deducted before the money ever reaches you.
B2B hands you the wheel instead. You invoice the full amount, then choose your own taxation mode and pay your own ZUS and NFZ. That freedom is exactly why B2B usually nets more at the same headline figure, ryczałt's flat rate and fixed ZUS cost simply doesn't scale the way UoP's percentage-based deductions do as your rate climbs.
The part that's easy to miss is the employer's side of UoP. On top of your gross salary, your employer pays a further chunk in employer ZUS, roughly a fifth of your gross again, that never touches your payslip but is a very real cost of employing you. A client paying a B2B contractor the equivalent invoice amount pays nothing extra beyond that figure. This calculator surfaces both sides so you can see not just what you'd take home, but what it genuinely costs to employ you either way.
None of this accounts for what UoP buys you beyond cash: paid leave, sick pay, notice periods, and continuous pension accrual that B2B doesn't provide by default. A bigger net number under B2B isn't automatically the better outcome, it depends on how much you value those protections against the extra income.