The bill payment is processing or has been complete (in-flight payments and paid bills cannot be archived)
The bill was paid manually
The bill has a pending approval
But after trying this in the demo app, I was able to archive a bill that had a pending approval so #3 was not valid. Can a bill in Ramp be always voided unless paid? And via the API, how do we detect that this bill has been voided? If I try to void a bill that is paid, will the API error?
Hi there! I’ll take a first pass here, please let me know if I’m misunderstanding anything.
In Ramp Bill Pay, the action you’re describing is archiving a bill. Ramp does not expose a separate “void bill” action in the Bill Pay UI. Archiving is only available for bills that have not entered payment processing and are not paid.
Per our Bill Pay guidance, a bill cannot be archived if:
the payment is processing or complete (in-flight or paid),
the bill was paid manually, or
the bill has a pending approval.
If you attempt to archive (or “void”) a paid bill via the API, the request will error. Paid or in-flight bills are not eligible for archiving, so any API request to archive a bill that is already paid or processing should be rejected with a validation-style error.
Let me know if this doesn’t fully answer your question or if you want to dig into a specific scenario.