GUS average at PLN 9,509. A cleaning firm bills hours on site, not the national mean
On 20 August 2026 Statistics Poland reported average enterprise-sector pay in July of PLN 9,509.02, up 6.8 per cent on a year earlier. The administrative and support section — where GUS classifies cleaning — has no July figure. For a cleaning firm the sum still has to add up on the rota: who entered the site, how many hours hit the payroll, and whether the invoice covers them.
On 20 August 2026 Statistics Poland (GUS) reported that average gross pay in the enterprise sector in July was PLN 9,509.02. That is 6.8 per cent higher than in July 2025 and 1.1 per cent higher than in June.
For a cleaning firm that average is background, not its own payroll. In the July table GUS does not publish a figure at all for administrative and support service activities, the section that includes building-cleaning services. The cell is a dot: statistical confidentiality or no figure that can be released. A year earlier, in July 2025, the same section stood at PLN 7,292.08.
On site a different sum still has to add up. From 1 January 2026 the statutory minimum wage is PLN 4,806 gross, and the minimum hourly rate on a contract of mandate is PLN 31.40. The Polish Chamber of Cleaning Industry wrote as early as January that labour is the main price-setting item in a cleaning contract and that a full-time cost must include absence and cover. Hour tracking in a cleaning firm is therefore what decides whether the invoice will cover the payroll.
What GUS published on pay — and what it left out about cleaning
The 20 August release covers firms with at least ten people in work. In July the enterprise sector had 6,378,900 full-time equivalents, 0.8 per cent fewer than a year earlier. Against June, employment rose by 0.1 per cent. Bankier.pl noted that this was the first month-on-month rise in headcount since November 2025.
In the same release GUS broke pay down by kind of activity. Information and communication sat at the top: PLN 15,334.67. At the bottom were other service activities (PLN 6,965.95) and accommodation and food service (PLN 7,003.44). Administrative and support services for July 2026 are missing.
The socio-economic situation note of 25 August repeats those figures and adds that the purchasing power of average pay rose by 3.6 per cent year on year. From January to July the sector average was PLN 9,366.10, 5.9 per cent higher than a year earlier.
The wider average, covering the whole national economy, is lower. ZUS, citing GUS, puts average pay in the second quarter of 2026 at PLN 9,233.13. In the first quarter it was PLN 9,562.88. The gap comes from bonuses, awards and severance, which GUS counts as pay — in July the office itself pointed to extra payments, including awards for Foresters’ Day.
For the owner of a cleaning firm with a dozen or so people, those releases have two gaps. First, GUS does not count micro-firms in the enterprise sector. Second, nobody on site is paid PLN 9,509. People work on an employment contract at the minimum or on a mandate at PLN 31.40 an hour. The national average only shows how far that rate sits from the rest of the economy.
Twenty people, a dozen offices and a Monday after the holidays
Picture a regional cleaning firm. About twenty people, a dozen standing office contracts and a few housing associations. The contracts are priced by square metres and frequency, not by a named attendance list. The coordinator builds the week in a spreadsheet. Changes go out on a messenger app.
The first Monday in September. Offices are back to full occupancy after the holidays; associations want stairwells deep-cleaned after the summer traffic. Two people from the morning shift do not turn up. One is on sick leave, the other is silent. The coordinator pulls people off a site that “can wait” onto one that has a contractual penalty for a break in service.
At month-end three lists pile up. Cards from the sites, entries in the spreadsheet, and what went to payroll as hours to be paid. For the two people who hopped between locations that week, nobody can say how many hours landed on which office. The invoice follows the contract. Pay follows what each person declared. The gap sits in the margin or in a dispute with the client.
One thing would help in that story: a shared rota tied to the site, not to a notebook. A person who did not start the shift is visible at once. Cover is assigned a site and a time. The coordinator does not phone down a list to assemble the day.
A rota that splits at the first absence
In cleaning the rota is the product. An office has to be entered at an agreed hour, a stairwell before residents leave for work, a warehouse hall in the window between shifts. When someone drops out, it is not only a name that moves. Travel, keys, chemicals and the time left for the next site move with it.
In a small crew, cover often means the same person doing two sites back to back, or the site being left “until tomorrow”. Tomorrow already has its plan. The client sees a dirty kitchen and sends a message. The coordinator answers from memory about who was there.
In its recommendations for 2026, PIGC puts absence and cover into the cost of one full-time post. The chamber also warns buyers against imposing a rigid headcount instead of a service result. For the contractor it cuts both ways: continuity cannot be kept if the rota does not show who actually entered, and who was only still listed from the previous week.
A panel with a rota per site, not for a generic “cleaning department”, is useful here. A shift has an entry time, a person and a stand-in. An absence closes the slot and immediately shows which premises are left uncovered. A phone reminder to someone on the reserve list is faster than a chain of messages. A similar problem — hours of people who are not visible in one place — is described in hour tracking at a temporary-work agency; there the other party is a plant floor, not an office block.
A spreadsheet is enough when there are a few sites and everyone lives in the same town. With a dozen locations and morning plus evening shifts, the sheet stops being a shared truth. Everyone has a different copy. At 9 p.m. the coordinator amends tomorrow; at 6 a.m. the person on site opens yesterday’s file.
Hours on site and hours on the invoice
A B2B office-cleaning contract rarely bills every hour. More often it is a lump sum per square metre and a set number of visits a week. Inside the firm the cost is still hourly: a post, travel, overtime, a mandate. If the record does not tie a person to a site, the owner does not know which contracts are carrying the rest.
On a mandate the rate cannot fall below PLN 31.40 an hour. That follows from the minimum-wage rules and the Council of Ministers regulation of 11 September 2025. The parties need not write an hourly rate into the contract. They must, however, set pay so that it is not lower once converted to an hour. When the client sets the place and time of work, hour records are not decoration. They are the condition for knowing whether the floor has been met.
On an employment contract the picture is different. The guarantee is monthly, PLN 4,806 gross from January, regardless of the number of hours in a given month on a full-time post. The employer’s cost is higher than gross. PragmaGO, in a 2026 worked example, adds the firm’s contributions and arrives at PLN 5,790.28 without PPK and PLN 5,862.37 if the employee is in the scheme. That is a calculation at an accident-insurance rate of 1.76 per cent, not a ruling for every firm. It does show the scale: the path from PLN 4,806 to net pay is shorter than the path from PLN 4,806 to the cost that the invoice must cover.
When the same people hop between an office, an association and a one-off deep clean, the lump sum on the invoice stops saying how many hours each contract ate. A register of entries then helps: site, date, person, time from–to, confirmation. At month-end the hour summary should match what went to payroll and what went to the client.
An off-the-shelf time-clock package often counts presence in the company, not presence on a given floor. In cleaning the floor is the billing unit. If the tool does not know the site, a manual export to a spreadsheet remains. That is the same jam, only moved one step on.
A checklist from the washroom, not from the coordinator’s memory
A complaint in this trade arrives quickly and usually without a photo from the hour of service. The client writes that cups were left in the kitchen, that the washroom ran out of paper, that marks showed on the carpet after the weekend. The coordinator asks the crew. The crew says it was done. There is no list, no time stamp, no record of who was on the shift.
In its recommendations for buyers the chamber lists quality control and monitoring of delivery as a separate chapter of the order, not a footnote. On the contractor’s side it is the same: without a short checklist from the site, a complaint becomes an argument about memory. With several visits a day, memory will not carry twelve kitchens.
A phone report after leaving the site closes that argument earlier. A few items from the scope — washrooms, kitchen, desks, floors, restocking — plus a photo where the contract requires it. A status of “done / not applicable / needs a ticket” is readable for the coordinator in the morning, before the client writes. The same mechanism, only in other field work, is described in the field-service app: job, visit report, what was left on site.
Not every site needs a photo of every basin. An association with a stairwell and a lobby often needs only a short list. A surgery or a server room needs another. If one list hangs over every contract, people tick it blindly or not at all. The checklist is then worse than a notebook, because it pretends quality was measured.
Chemicals in a cupboard nobody counted
Cleaning agents, bags, paper and dispensers are often “included in the service” in the contract. PIGC notes that buyers sometimes ignore the actual consumption of hygiene materials. On the firm’s side the effect is simple: chemicals vanish from the cupboard on site, they are bought again out of the contract pocket, and nobody knows whether the loss comes from footfall, from theft, or from the crew ferrying stock between locations.
In the twenty-person example the central store is usually a car boot and a cupboard at the client’s. The coordinator learns of a shortage when someone rings from the car park. The purchase goes on a card, the receipt drops into a drawer, the site is not charged. On a lump-sum contract that looks harmless. Across a dozen offices the sum of receipts eats what was meant to remain after labour.
A simple record of issues to the site helps: what left the store, what was received on site, at what stock level a top-up is due. It need not be a full warehouse system. It does need to show that three offices use paper twice as fast as the quote assumed. Then either the contract is updated or the restocking method changes, before the loss hardens into “chemicals cost”.
An off-the-shelf warehouse package counts stock in a hall. In a cleaning firm stock sits at the client’s, in the car and in the office cellar. If the tool does not know those three places, the spreadsheet returns. An integration with a chemicals wholesaler makes sense when orders are regular and repeatable. With purchases from two shops and a fuel card, the first job is to write down what actually leaves the sites.
The cost of a post, the PLN 31.40 rate and a contract with no indexation
The PLN 4,806 minimum wage has applied since January. Set against the July average of PLN 9,509, the band in which most crews move is visibly narrow. PIGC updated its recommendations in January precisely because the rise in the floor “materially affects the cost of delivering cleaning services” and feeds through into hourly rates for staff and into the contract as a whole.
The chamber flags a buyer error: no indexation clause in long-term contracts. For the contractor the effect is felt after a few months. The rate on the invoice stands still. The cost of a post, contributions, chemicals and travel does not. An abnormally low price, PIGC warns, ends in lower quality, breaches of labour law or a break in service. That is not a reading of the statute. It is a description of what happens when the costing does not survive the year.
In pricing a new contract it is not only the rate per square metre that counts. It is how many hours a site actually consumes with a given method, and how often someone drops out. If the firm has no hour history from similar offices, it bids from memory of the last tender. It wins. Then it adds a person who was not in the costing.
A panel that collects hours per site over several months will not replace a site visit — PIGC still advises against skipping one. It does, however, give a hard opening for a conversation about an addendum: this floor area at three visits a week eats more hours than last year’s clause. Without that history, indexation remains a bare wish in the contract, or its absence.
Some public contracts require employment under a labour contract. The record must then survive not only the client but also a possible question about the employment relationship. That is not a brief for a separate HR system in place of ZUS and the payroll package. It is a brief for being able to set hours from the site against the list that accounts already prepares.
When a spreadsheet is enough, and when a separate panel is not
A few regular flats or two offices in one building can be run with a calendar and a spreadsheet. The owner knows people by name, knows who is ill, and drives the chemicals himself. A dedicated app would cost more than the problem.
Ready-made SaaS for rotas and checklists works when sites are alike, the scope stays inside what the product offers, and nobody needs an unusual report for a property manager or a tender. The subscription is then cheaper than writing a panel of one’s own. The limit appears when an hour has to be tied to an invoice in the accounts package, chemical stocks in three places, and a portal through which an association logs a defect.
An integration makes sense when two programs already work: time records and the accounts package, for example. Instead of a third system, hours are exported into bookkeeping. What calculates ZUS and the payroll is left alone.
A system of one’s own starts to pay when the process is steady and will not fit a package: sites with different scopes, night shifts, subcontractors on part of the work, a report for a property manager in a different layout from the office report, chemicals billed per contract. Then a panel is built around that flow, not the other way round. A wider comparison of when a subscription stops adding up is in the piece on off-the-shelf software versus a commissioned system.
How to tie the site, the hour and the pay together
In the twenty-person firm described above there is no need for a “system for everything”. There is a need for the rota, the site entry, the checklist and the chemical issue to sit against the same contract. Then a Monday absence does not split three lists at month-end.
GESOFT builds such panels to order when a package does not handle that flow. Work usually starts by writing down which sites, which shifts, where hours for pay come from, and what the client is entitled to see. Only then comes a web application with a rota, a phone report and — if needed — a simple ticket portal.
That does not replace ZUS, the payroll package or the spreadsheet that still suffices for two locations. It is meant to join what those tools do not see: that an hour on the payroll either landed on a lump-sum office, or on an association with a cap, or on nothing, because someone sat in traffic between sites.
Describe your project