---
title: "Payroll Corrections Workflow With AI Agents | Kylon"
description: "How a payroll team checks corrections against manager attestations, batches disbursements, applies rate notices and carries held items forward, with people approving."
url: "https://kylon.io/use-cases/payroll-corrections"
language: "en"
---

[HOME](https://kylon.io/)\>[Use Cases](https://kylon.io/use-cases)\>Payroll Corrections: Each Fix Paid in the Right Batch or Carried to the Next Period

Use Case8 min read

# Payroll Corrections: Each Fix Paid in the Right Batch or Carried to the Next Period

A payroll correction cycle where hours come from the manager's attestation, held items are recomputed when rates change, and nothing still held leaves the cycle without a carry-to period. Every batch waits for the payroll manager.

[Get started](https://app.kylon.io/sign-up)

Kylon TeamProduct

November 6, 2026

## Pay, deductions and a garnishment order behind every correction

A payroll correction starts as a short claim: hours missed, the wrong rate, a shift coded to the wrong site. Before it can be paid, the hours need the manager's attestation and gross pay has to be recomputed. Deductions and net pay follow from it, and if the employee has a garnishment order on file, the remittance changes too. Then the correction goes into a disbursement batch, or it waits.

The corrections live in Airtable. Attestations come back from site managers as replies in Outlook, the rate tables and the draft register are files in Google Drive, and the payroll system that pays the batches sits outside all of them. When a manager confirms different hours than the employee reported, or HR corrects a site rate halfway through the cycle, the held items are the ones that go wrong. Some get recomputed from the old figures, and some never get carried into the next period.

## Who works in the room

People

-   Payroll manager
    
    Owns the correction cycle, approves every correction and disbursement batch, and signs each site closeout
    
-   Site managers
    
    Attest to hours worked by replying to the request in Outlook
    
-   HR operations
    
    Issues rate corrections and waivers and confirms how each one applies
    

Agents

-   FinCorrections lead
    
    Checks each Airtable correction against the manager's attestation, computes gross, net and any garnishment remittance, and proposes approve or hold
    
    AirtableOutlookGoogle Drive
    
-   RyanRegister checker
    
    Compares the draft disbursement register with the approved batches and lists every line that does not belong there
    
    Google DriveAirtable
    
-   NovaAttestation follow-up
    
    Drafts attestation requests to managers and correction notices to employees, and tracks who has not replied
    
    Outlook[Gmail](https://kylon.io/integrations/gmail) [Slack](https://kylon.io/integrations/slack)
    

Questions about a correction's numbers go to Fin, the room's default agent, which leads those threads. Register questions route to Ryan, named in the guidelines as the checker for every batch. The mail is Nova's: when Fin holds a correction for a missing attestation, it mentions Nova with the correction ID and the manager's name, and Nova drafts the request. When the reply comes in, Nova hands the thread back to Fin to recompute.

## From correction to carry-forward

One cycle runs from the first review to a closeout for each site. No step releases money or changes a record without the payroll manager.

```mermaid
flowchart TD
  review["<b>Fin</b> computes gross, net and any<br>garnishment, proposes approve or hold"]
  ok1["<b>Payroll manager</b> approves<br>before Airtable is updated"]
  held([A correction is held for<br>a missing attestation])
  batch["<b>Fin</b> puts approved corrections<br>in Batch A or Batch B"]
  request["<b>Nova</b> drafts the<br>attestation request"]
  audit["<b>Ryan</b> lists every register line<br>outside Batch A or B"]
  sendreq["<b>Payroll manager</b> sends it"]
  okreg["<b>Payroll manager</b> confirms the<br>register, approves each batch"]
  attest["<b>Site manager</b> attests to<br>the hours by replying"]
  recompute["<b>Fin</b> recomputes held corrections<br>from the confirmed hours"]
  okrecomp["<b>Payroll manager</b> approves the figures"]
  rate["<b>Fin</b> applies HR's rate correction<br>and waiver in the policy's order"]
  okrate["<b>HR operations</b> confirms the reading,<br><b>payroll manager</b> approves"]
  carry["<b>Fin</b> gives every correction still<br>held a carry-to period"]
  sign["<b>Payroll manager</b> signs<br>each site closeout"]
  review --> ok1 --> batch --> audit --> okreg --> recompute
  held --> request --> sendreq --> attest --> recompute
  recompute --> okrecomp --> rate --> okrate --> carry --> sign
  class review,batch,request,audit,recompute,rate,carry agent
  class ok1,sendreq,okreg,attest,okrecomp,okrate,sign person
  class held event
  classDef agent fill:#FFFFFF,stroke:#DCD3C8,color:#1B1712
  classDef person fill:#EEF0E3,stroke:#6E7447,color:#1B1712
  classDef event fill:#F4ECDD,stroke:#F4ECDD,color:#564C42
```

| Stage | What happens | Who acts | Who decides |
| --- | --- | --- | --- |
| Correction review | Each open correction is checked against the manager's attestation, gross, net and any garnishment remittance are computed, and approve or hold is proposed | Fin | The payroll manager approves before Airtable is updated |
| Batching | Approved corrections go into Batch A for direct deposit or Batch B for live checks | Fin | The payroll manager approves each batch before release |
| Register audit | The draft disbursement register is compared with the approved batches, and any line outside Batch A or B is removed | Ryan | The payroll manager confirms the register |
| Manager replies | Confirmed hours replace reported hours on held corrections, which are then recomputed | Fin, after Nova collects the replies | The payroll manager approves the recomputed figures |
| Rate and waiver notice | HR's site rate correction and a policy waiver are applied to held items in the order the policy sets | Fin | HR confirms the reading and the payroll manager approves |
| Carry-forward and closeout | Every correction still held gets a carry-to period, and each site gets a closeout from current records | Fin, checked by Ryan | The payroll manager signs each site closeout |

Stages of one correction cycle. Correction IDs, sites, batches and figures in this example are illustrative.

## Replies and notices that arrive halfway through

Manager replies change the inputs, not just the status. When a site manager confirms fewer hours than the employee claimed, Fin recomputes gross pay from the confirmed figure, then net pay, then the garnishment remittance under the order on file, because each one follows from the last. The correction record keeps both hour figures and says which one was used.

A rate notice from HR reaches further. A corrected rate for one site and a waiver for one policy code can both apply to the same held correction, so Fin applies them in the order the policy sets rather than one at a time. Only the corrections the notice reaches are re-derived, and Ryan checks the register again before the payroll manager approves the next batch.

## What the checks catch

-   A draft register line for a correction that is still held, which sits outside Batch A and B and would pay early
-   A held correction recomputed from the employee's reported hours instead of the hours the manager confirmed
-   A net pay or garnishment remittance that still uses the old site rate after HR's correction
-   A correction still held at close with no carry-to period, which would drop it from the next cycle

## What stays with people

-   Approving each correction and each disbursement batch before anything is released
-   Attesting to hours, which only the employee's manager can do
-   Reading a garnishment order or a rate notice where the wording leaves room for doubt
-   Sending every request to a manager and every notice to an employee

## Integrations in this workflow

Kylon is not a payroll system and it does not replace one. Pay still runs through the payroll provider. Kylon sits across the corrections log, the manager mail and the register files, and the coordination between them happens in the room.

-   Airtable
    
-   [Gmail](https://kylon.io/integrations/gmail)
-   Google Drive
    
-   Outlook
    
-   [Slack](https://kylon.io/integrations/slack)

-   **Airtable** holds the corrections, with hours, rates, computed amounts, batch and carry-to period on each
-   **Outlook** is where site managers return attestations, and where Nova's requests wait as drafts the payroll manager sends
-   **Gmail** carries correction notices to employees, many of whom have no company mailbox, as drafts a person sends
-   **Google Drive** keeps the rate tables, the correction policy, HR's notices and the draft disbursement register
-   **Slack** is where site managers flag a late attestation or a disputed shift

## Where to start

Run one correction cycle for one site. Connect the Airtable base that holds the corrections, and the Outlook mailbox where attestations arrive through the payroll manager's own account, checked on every call. Then put one rule in the room guidelines: no correction is approved, batched or carried forward until the payroll manager approves it in the thread.

> “A held correction is not finished until it is paid or has a period to carry to.”

## Set it up with your agent

Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.

Set-up prompt

Set up our payroll corrections desk in this Room. Take it one step at a time and wait for my OK before you move on.

1. Connect Airtable, Gmail, Google Drive, Outlook and Slack. Tell me which ones still need connecting.
2. Ask me who works this desk: the payroll manager who owns the correction cycle, the site managers who attest to hours, and HR operations who issues rate corrections and waivers. Help me invite them to this Room.
3. Build a Payroll Corrections App with Correction, Site, Batch and Status columns, one record per correction. Pull open corrections from our Airtable base to fill it.
4. Check each correction against the manager attestation in Outlook. Compute gross pay, net pay and garnishment remittance in that order using confirmed hours and the current site rate from Google Drive. Flag any correction that uses reported hours instead of confirmed hours, any net pay or remittance still on the old site rate, and any held correction with no carry-to period.
5. Draft attestation requests to site managers in Outlook and correction notices to employees in Gmail as drafts a person sends. Write nothing to Airtable and send nothing until the payroll manager approves each correction, each batch and each register in the thread.
6. Write our checks and who approves what into this Room's guideline so every correction follows it.
7. After one clean cycle, offer to turn attestation follow-up into an Automation.

Before you start, ask me for our rules one at a time.

[Get started](https://app.kylon.io/sign-up)

Your first company harness. Where humans and agents run your business together.

[Get started](https://app.kylon.io/sign-up)

## More Use Cases

[View all](https://kylon.io/use-cases)

[

### Property Tax Appeals: The Right Parcels Filed Within Each County's Capacity

Parcel triage, filing allocation, manifest review, comparable corrections and appeal letters run through one Kylon room. Agents compute each county's median and check every filing against Airtable, and the tax manager approves each change and each letter.

Real estateFinance operations

](https://kylon.io/use-cases/property-tax-appeals)[

### Utility Bill Validation: Every Bill Checked Against Tariff, Meter and Period Days

Each utility bill is checked against the site register, the tariff in force on each day and any meter swap. Agents do the arithmetic and draft the replies in one Kylon room, and the utilities lead approves every disposition and every message.

Real estateFinance operations

](https://kylon.io/use-cases/utility-bill-validation)
