A machine operator clocks in at 6 AM. She sets up her CNC mill, runs the first batch, waits twelve minutes for a tooling change, runs a second batch, and covers for a colleague on break for twenty minutes on an unrelated line. By the end of her shift, SAP has recorded exactly one number about her day: eight hours, charged to the standard labor rate for her cost center.
None of the setup time, the tooling delay, or the cross-coverage shows up anywhere. The product costing run that finance uses to value inventory and set prices never sees it. It just applies the standard hours the product is supposed to take, multiplies by the standard rate, and calls it done.
This is how most manufacturers still cost their products. Not because anyone thinks it is accurate, but because capturing what actually happens on the floor, minute by minute, machine by machine, operator by operator, has always required more manual data entry than plant managers can realistically enforce. So the standard cost becomes a placeholder that everyone quietly knows is wrong, and nobody has the granular data to correct it.
Operator check-in and check-out screens change that equation. A tablet or terminal at each workstation lets operators log in, select the job or work order they are running, and log out when they switch tasks or machines. That simple interaction, repeated across every station on the floor, produces a continuous stream of real labor and machine activity data. Feed that stream back into SAP instead of relying on static standards, and product costing stops being an estimate. It becomes a measurement.
The Standard Cost Problem Nobody Talks About Enough
Standard costing exists for good reasons. It gives finance a stable number to plan against, it simplifies budgeting, and it avoids the chaos of recalculating product costs every time a machine runs slightly slow. SAP's standard cost estimate (transaction CK11N, for anyone who has spent time in the weeds) takes the routing, the bill of materials, and a set of predetermined rates, and produces a cost per unit that stays fixed until the next costing run.
The problem shows up the moment reality diverges from the routing. And in most plants, it diverges constantly.
Setup times vary depending on which operator is running the changeover and how well the previous job left the tooling. Machine downtime for minor stoppages rarely gets logged consistently, so it disappears into the "standard" bucket even though it directly inflates the actual time a batch consumes. Rework loops, quality holds, and scrap rarely map cleanly back to the specific work order or shift that caused them. Cross-training means the same job might get run by an operator earning a different rate than the one the standard assumes, and multi-machine tending means a single operator's labor hour might need splitting across two or three work orders running in parallel.
Every one of these variances gets buried at month-end in a lump sum labor and overhead variance account. Finance sees the total number and knows something is off, but they cannot trace it back to a specific product, shift, machine, or operator behavior. So the standard cost stays the standard cost, quarter after quarter, and pricing decisions, margin analysis, and make-versus-buy calls all get built on a number that was never particularly close to reality in the first place.
Ask a plant controller how confident they are in product-level margin by SKU, and you'll get a pause before the answer. That pause is the tell. It means the cost system is telling a story, not reporting a fact.
What Check-In and Check-Out Screens Actually Capture
The mechanics are straightforward, which is part of why this approach works where more elaborate systems have failed. At each workstation, a simple terminal (a rugged tablet, a badge scanner paired with a small screen, or even a shared kiosk at a work cell) prompts the operator to identify themselves and the job they are starting.
Check-in captures four things that matter for costing: who is working, what work order or operation they are working on, which machine or resource they are using, and the timestamp. Check-out closes that loop with a second timestamp. The delta between the two is actual labor time, tied precisely to a specific work order and machine, not an assumption about how long that operation should take.
Machine activity gets captured the same way, either through the operator's own check-in (since they are physically present at the machine) or through a lightweight connection to the machine's PLC or control system that flags run states automatically. Idle time, changeover time, and run time each get their own bucket instead of collapsing into a single "hours worked" figure.
What makes this different from the punch clocks manufacturers have used for decades is the granularity and the linkage. A traditional time clock tells you an employee worked eight hours. It does not tell you which work order consumed which minutes, which machine they were assigned to during each stretch, or how much of that time was value-adding production versus setup, waiting, or rework. Check-in and check-out screens tied to specific jobs close that gap. Every minute gets attributed to something specific enough that a costing engine can use it.
From Shop Floor Data to Actual Cost in SAP
Capturing the data is only half the job. The real value shows up when that data flows back into SAP and replaces, or at least challenges, the standard cost assumptions baked into the product costing module.
SAP already has the plumbing for this, even if most plants never fully activate it. Confirmations against production orders (CO11N or the mobile equivalents) can post actual labor hours and machine hours directly against the order. Activity type postings can reflect actual machine run time instead of planned time. Once actual confirmations exist at this level of detail, SAP's variance calculation (transaction KKS1 for order-related variances, or the standard cost component split) can compare planned versus actual at the individual cost element level, not just at the aggregate plant level.
This is where the shop floor terminals earn their keep. Instead of a supervisor manually keying in a lump confirmation for a batch of fifty units at the end of a shift (which is what happens in a huge number of plants today, and which reintroduces exactly the kind of estimation error this whole exercise is trying to eliminate), the system already has precise, timestamped, job-linked data waiting to post. The confirmation becomes a data feed rather than a data entry task.
The practical integration usually runs through a middleware layer sitting between the shop floor terminals and SAP. That layer aggregates the check-in and check-out events, applies any business rules (rounding policies, shift differential rates, overtime calculations), and posts confirmations into SAP through standard interfaces like BAPI_PROCORD_CONFIRM or IDocs, depending on the SAP version and the plant's integration architecture. For plants running SAP S/4HANA, this can also flow through the newer Manufacturing Execution integration points, which handle the volume and frequency of shop floor transactions more gracefully than older RFC-based approaches.
The result is a costing engine that reflects what actually happened rather than what the routing assumed would happen. When a work order runs long because of an unplanned tooling issue, that variance shows up immediately, attributed to the specific order, machine, and shift. When an operator consistently completes a job faster than standard because of skill or experience, that shows up too, and it can inform a routing update rather than sitting unnoticed in a variance account.
Why This Matters Beyond the Accounting Department
It would be easy to file this under "finance nice-to-have" and move on, but the operational value runs deeper than cleaner cost reports.
Real labor and machine activity data, captured continuously, gives plant managers visibility they simply cannot get from monthly variance reports. If check-out data shows that a particular machine consistently runs 15 percent longer than standard on a specific product family, that is a maintenance conversation, not just a costing footnote. If one shift consistently shows longer setup times than another on the same equipment, that is a training opportunity. If a product's actual cost has crept well above its standard cost over two quarters, pricing and sales need to know before the next contract renewal, not after the annual costing review.
Capacity planning improves too. Standard routings assume a fixed cycle time per operation, but actual machine activity data reveals the real throughput a work center can sustain, including realistic allowances for changeovers and minor stoppages. That is a materially better input for scheduling than a routing time that was set once, years ago, and never revisited.
There's also a quieter benefit around labor cost allocation in plants where operators run multiple machines or bounce between work cells based on daily demand. Standard costing handles this poorly, since it assumes a fixed labor allocation per operation. Actual check-in and check-out data, tied to the specific machine and job an operator is working at any given moment, lets that labor cost get split accurately across whatever mix of work the operator actually did, rather than forcing it into a single bucket that was never quite right.
Getting the Rollout Right
None of this works if operators experience the check-in screen as one more piece of surveillance bolted onto an already demanding shift. The plants that get this right treat the terminal as a tool that removes work rather than adding it. A well-designed check-in flow takes an operator three or four taps: select employee badge, select work order (often pre-filtered to the jobs scheduled at that workstation), select machine if it is not automatically detected, confirm. Check-out can be even simpler, sometimes a single tap tied to badge presence leaving the station.
Plants that have struggled with adoption usually made the screen too complicated, asking operators to key in quantities, scrap counts, and quality codes at every check-out when a simpler follow-up screen or a separate quality station would have handled that data more naturally. Keep the check-in and check-out terminals focused on time and job attribution. Let other systems handle quantity and quality confirmations, and integrate those data streams separately if a fuller Manufacturing Execution System sits alongside the terminals.
Machine connectivity matters just as much as operator behavior. Where possible, tying the check-in event to an actual machine state (running, idle, in changeover) rather than relying purely on operator self-reporting reduces both error and the temptation to leave a badge checked in during a break. A basic PLC tap or an OPC-UA connection to the machine controller can confirm run state independently, which also gives finance a second, machine-verified source for the activity data feeding into SAP, rather than depending entirely on operator diligence.
Rolling this out plant by plant, work center by work center, rather than as a single big-bang deployment, tends to go better. Start with a work center that has the most costing uncertainty today, the one where finance already suspects the standard cost is furthest from reality, and prove the actual-cost feedback loop there first. Once operators see that the data is being used to fix inaccurate standards rather than to police their pace, adoption on subsequent work centers gets easier.
How This Plays Out Across Different Manufacturing Environments
The specifics shift depending on what kind of plant is running this. A discrete manufacturer building complex assemblies, think industrial equipment, automotive components, or electronics, tends to have operators moving between distinct work orders throughout a shift, often several times an hour. Check-in and check-out screens fit naturally here because each job change is already a deliberate operator action. The terminal just captures what was already happening in the operator's head.
Process manufacturing, running continuous batches of chemicals, food and beverage, or pharmaceuticals, looks different. Operators might stay at one control station for an entire shift while multiple batches cycle through underneath them. Here, the check-in event matters less at the individual operator level and more at the batch and equipment level. The terminal captures which batch is running, ties operator presence to that batch for labor allocation, and lets machine-side sensors handle the more granular run-state data since the operator is not physically switching stations every few minutes.
Job shops and make-to-order manufacturers, where the mix of parts running on any given day can vary widely, benefit the most from this kind of system precisely because standard costing struggles hardest in that environment. When routings for infrequently run parts get built from decades-old time studies, or worse, from an engineer's best guess at quoting time, actual cost data from check-in and check-out screens becomes the fastest way to correct a quote that has been under-costing a part for years without anyone noticing until margin erosion shows up in the annual review.
Multi-plant operations running a shared SAP instance get an additional benefit that single-site manufacturers do not see as clearly. Once actual cost data flows consistently from every plant's shop floor terminals, corporate finance can compare true production cost for the same part number across sites, something standard costing badly obscures since each plant's standard reflects its own routing assumptions rather than its own actual performance. That comparison can drive real decisions about where to source a given product line, backed by data instead of by whichever plant's standard cost estimate looks better on paper.
Measuring Whether It's Working
Once the terminals are live and data is flowing into SAP, the plant needs a way to know whether the investment is paying off, and that measurement should happen at more than one level.
At the data quality level, track how much of total shift time gets attributed to a specific work order versus falling into an unassigned or generic bucket. A well-adopted system should see unassigned time drop toward the single digits within a few months of rollout on a given work center. If operators are still leaving large blocks of time unaccounted for, that's a signal the check-in flow is still too cumbersome or the job list at that terminal is not matching what is actually scheduled.
At the costing level, watch the gap between standard and actual cost narrow over successive costing runs for the products manufactured on instrumented work centers. This will not close to zero, and it should not, since some variance is normal and expected. What matters is whether the size of the variance becomes small enough and consistent enough that finance can plan against the standard with real confidence, and whether outlier variances get explained by a specific traceable cause rather than sitting as an unexplained lump.
At the operational level, look at whether the maintenance, scheduling, and training conversations mentioned earlier are actually happening. A costing system that produces better numbers but never gets used to change a routing, flag a machine for service, or adjust a training plan has only delivered half its value. The plants that get the most out of this approach build a regular review cadence, often weekly at the work center level and monthly at the plant level, where actual-versus-standard variance gets discussed alongside the specific shop floor events that drove it.
What Changes for Finance and Operations Together
The bigger shift this enables is cultural as much as technical. Standard costing, by design, creates a wall between what finance reports and what actually happens on the floor. Operations knows the standards are approximate. Finance knows the variances are real but cannot trace them. Everyone works around the gap instead of closing it.
Continuous actual-cost data collapses that wall. A plant controller reviewing margin on a product line can drill into the specific work orders, machines, and shifts driving a variance instead of staring at an aggregate number and guessing. A production supervisor gets objective data to support a request for updated routing times instead of relying on anecdote. And when it comes time to run the next standard cost estimate, that estimate can be built from actual historical performance rather than from engineering assumptions made when the product was first launched.
That last point matters more than it might seem at first. Standard costs are usually set once, when a product is new, based on time studies or engineering estimates, and then rarely revisited with the same rigor. Products drift from their original routing over years of process improvement, tooling wear, operator turnover, and equipment changes, but the standard often stays frozen unless someone forces a recalculation. A continuous stream of actual labor and machine data makes recalculating standards a routine exercise instead of a rare, disruptive project, because the inputs are already sitting in the system, accurate and current.
For manufacturers running SAP, this is a case where the underlying capability has existed in the system for a long time. Confirmation transactions, activity type postings, and variance calculations are all standard SAP functionality. What has been missing is a practical, low-friction way to generate accurate confirmation data at the volume and precision the system can actually use. Operator check-in and check-out screens are that missing piece, not a replacement for SAP's costing engine, but the data source that finally lets it do the job it was built for.
The plant that started this piece, the one with an operator managing setup delays and cross-coverage that vanished into a single eight-hour clock punch, does not need a new costing methodology. It needs the system to see what she actually did. Check-in and check-out screens at every workstation give it exactly that, and the actual cost calculation that follows stops being an estimate everyone has learned to distrust and starts being a number people can act on.
