Deductions · reference · Vendor-documented
Does ADP Workforce Now let you set an employer HSA contribution by percent or only a fixed amount?
Neither cleanly, because the question's premise does not hold: ADP Workforce Now has no employer-contribution object at all — a contribution is recorded as a deduction multiplied by -1.00 in a calculation an ADP account manager has to build — and whether the value is read as a percent depends on whether the deduction code number falls between 81 and 96.
By Eli Wilson · Published
This is one of the questions this publication was built to answer, and the honest answer starts by rejecting the question. ADP Workforce Now has no employer-contribution object. Asking whether you can set one by percent is like asking which gear a bicycle’s engine is in.
What the documentation actually says
ADP’s guide addresses employer contributions in a single paragraph, and it is worth reading closely:
Deduction Codes could also be used to record and report on the Employer Contribution. For this type of deduction, the client practitioner will need to work with an ADP account manager or client service representative (depends on the service model) to create a special calculation that takes the employee deduction *-1.00, resulting in an earnings code.
So an employer contribution is: a deduction, negated, becoming an earning, configured by a human at ADP, on ADP’s timeline. The guide continues that the resulting earning is added to the employee’s paycheck, taxed, and removed — so the employee never receives the money.
There is no field. There is a phone call.
And the percent question, separately
Even for the employee-side deduction, percent-versus-amount is not expressed in the payload.
One field, deductionRate/rateValue, is labelled AMOUNT / PERCENT in ADP’s meta mapping,
and which it means is carried by the code number:
For Deduction Codes 81 through 96, the value is shown as a percentage. For Deduction Codes other than 81 through 96, the value is shown as an amount. Therefore, your application should be built similarly.
deductionRate/unitCode exists in the schema and is marked Not Displayed. The field that
would disambiguate is present and silent.
Note where this appears: a Tip callout in Chapter 2 of a scanned, image-based PDF on a
/protected/ CDN path, last modified September 2022 — not in the API Explorer schema.
Dated evidence table
| Documented evidence | ADP states the ×-1.00 employer-contribution mechanism and the account-manager requirement. It states the 81–96 percentage range and instructs applications to be built accordingly. It labels rateValue as AMOUNT / PERCENT and marks unitCode Not Displayed. Checked 2026-09-10; document last modified 2022-09-22. |
| Strongest example | ADP’s own instruction that “your application should be built similarly” — the vendor expects integrators to hardcode a code-number range in order to know what unit they are writing. |
| What remains unproven | Whether the range is fixed or per-tenant. Whether unitCode is now populated. What a mismatched write actually does. Whether the ×-1.00 workaround is still the current recommendation four years on. |
The scorecard: can the write express its own semantics?
The general question this case belongs to. Score any payroll API on these five:
| Question | Good | Bad | ADP WFN |
|---|---|---|---|
| Is amount-vs-percent explicit in the payload? | A calculation-type field | Inferred from a code range | Bad |
| Can the caller assert tax treatment? | A validated pre-tax field | Inherited from a preconfigured code | Bad |
| Is there a contribution object? | First-class employer field | Negative deduction, or a memo earning | Bad |
| Can the caller create the codes it needs? | Yes, via API | A form, a ticket, or an account manager | Bad |
| Does a wrong write fail loudly? | Specific rejection | Accepted and reinterpreted | Unverified |
That is not a judgement of ADP’s payroll engine, which is not in question here. It is a statement about what the integration boundary makes you responsible for — and on ADP Workforce Now, that is: the unit, the tax treatment, the employer-side modelling, and the code lifecycle.
Frequently asked
- Can I tell from the API response whether a value is percent or amount?
- Not from the value. deductionRate/unitCode exists in the schema and would be the obvious place for it, but the guide marks it Not Displayed. You have to map the deduction code to the 81–96 range yourself, in your own code.
- Is the 81–96 range the same for every ADP client?
- Unverified. ADP states the rule as general guidance — for codes 81 through 96 the value is shown as a percentage — and instructs that your application should be built similarly. Whether the range is a fixed platform behaviour or per-tenant configuration is not documented and we have not tested it.
Source limits
Not verified hands-on. We have not written a deduction to a live or sandboxed ADP Workforce Now tenant, so we cannot confirm the 81–96 range behaves as documented today, nor whether it is fixed across tenants or configurable per client. We could not determine whether unitCode has since become populated. The guide was last modified 2022-09-22, four years before we checked it, and ADP's Chapter 1 notes at least one Chapter 8 limitation was later removed — so the known-issues list is not fully current. This covers Workforce Now only; RUN, Vantage and Next Gen have separate guides we have not assessed.
Sources checked
| Source | Publisher | Document date | We checked |
|---|---|---|---|
| Deduction Instruction API Guide for ADP Workforce Now | ADP | 2022-09-22 | 2026-09-10 |
| Deduction Instruction API Guide for ADP Workforce Now — Chapter 8, Known Issues | ADP | 2022-09-22 | 2026-09-10 |
| Gusto Embedded Payroll — employee benefits create | Gusto | — | 2026-09-10 |
Wrong or out of date? payrolldataspecs@gmail.com — corrections are free. How claims are scored: methodology.