The payroll document that still arrives by fax

Payroll teams do not choose fax. It arrives anyway. A wage garnishment order from a county court, an employment verification request from a lender, a pension administrator confirming a transfer. The sender picked the channel and the payroll office inherits it.

That is worth looking at properly now, because the people automating office work have started pointing software at it. A tool that can read a document and act on it changes what a fax is. It stops being paper in a tray and becomes an input to a program.

What changes when a program reads it

A fax that a person reads is filtered by the person. They notice the letterhead is wrong, or that the case number matches no employee.

A program notices none of that unless it is told to. The text on an inbound fax is written by whoever sent it, which makes it attacker controlled. If the next step is an action, the document is instructing your system. 

The fax API from Fax for Agents marks received text as untrusted on every result it returns. That is the right default and it is worth checking for in anything you buy. A document your software received is data. It is never a command.

Sending is where the money goes wrong

Receiving has one failure mode. Sending has several, and they cost money.

Pricing is per page. In the United States and Canada the published rate is $0.039 a page sent and $0.019 a page received. Numbers cost $2 a month, on a prepaid wallet topped up from $10. Those are small figures until a retry loop sends the same long garnishment response four times.

Two things prevent that. The first is quoting the cost before the send, so the price is known while it can still be refused. The second is an idempotency key on the send itself, so a repeated request returns the first result instead of sending again.

Approval has to bind to the quote

The part most people get wrong is the gap between approving and sending. 

An approval that says yes to a destination is not enough. If the document changes between the approval and the send, the yes no longer describes what goes out. Approval has to bind to that exact document and that exact quote, and the send has to refuse anything else.

For a payroll office this is not theoretical. Two garnishment responses can differ by one number, and both are addressed to the same court.

What to ask a vendor

Four questions settle most of it.

Does the send path take an idempotency key, and what happens on a repeat.

Can I get a cost before I commit to the send.

Does approval bind to the document and the quote, or only to the number.

Is received text marked as untrusted where my code can see it. 

The service above answers those through 17 tools over MCP. Setup is documented for Claude Code, Claude Desktop, Cursor, Codex and n8n. Behind it sits a REST surface of 146 operations, taken from the OpenAPI snapshot of 29 October 2026. Webhooks are signed with HMAC-SHA256 and carry an event id, which is what lets you trust a delivery notice you did not ask for. Documents are private, processed in the EU, kept 30 days by default and deletable by the owner. The sandbox is free and takes no card, so all four questions can be answered before anything is paid for.

The part that is actually about payroll

None of this makes fax a good channel. It makes it a channel you can account for.

Take any outbound document and ask four things of the record. What it cost. Who approved it. Which exact file went. That a retry did not send it twice. A payroll team able to answer those has turned an awkward legacy obligation into something auditable. That is the only reason to automate it. 

Scroll to Top