Repository navigation
feat(transactions): add returnCode and returnCategory to ACH railDetails - #1196
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
bdb7e30 to
8134c2f
Compare
|
Those 64 breaks were the branch being 11 commits behind |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
[Medium impact] The PR appears safe to merge. SummaryAdds optional
No actionable issues found. Reviews (2) · Last reviewed commit: "docs(transactions): returnCode is always..." · Reviewed by Greptile |
Co-Authored-By: akanter <akanter@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: akanter <akanter@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: akanter <akanter@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
8134c2f to
b2e7ea9
Compare
|
📌 Bolt Status 2026-10-21 06:46:47 UTC — ⚡ Agent |

Summary
Adds two fields to
AchRailDetailsso platforms can tell why an ACH entry came back:returnCode: the NACHA return reason code the receiving bank returned the entry under, such asR01orR10.returnCategory: the Nacha return-rate category that code counts toward,ADMINISTRATIVEorUNAUTHORIZED.railDetailsalready reports that an entry was returned (status: RETURNED,returnedAt), but not why. Platforms need the code to track their return rate per reason. Nacha sets separate return-rate thresholds for unauthorized returns and administrative returns, so a platform also needs to know which threshold a return counts toward.Changes
AchRailDetails.returnCode: an optional string matching^R[0-9]{2}$, present withreturnedAt. It is a pattern-checked string rather than an enum, because NACHA adds codes and clients shouldn't fail to parse a new one.AchRailDetails.returnCategory: an optional newAchReturnCategoryenum.ADMINISTRATIVEcoversR02,R03andR04.UNAUTHORIZEDcoversR05,R07,R10,R11,R29andR51.R01(insufficient funds), which still carryreturnCode.returnCode.openapi.yamlandmintlify/openapi.yaml.Both fields are additive and optional, so there is no version bump.
Test plan
make buildmake lint: 0 errors; warning and info counts unchangedRequested by @akanter
Original PR: #1190