Bill Pay API Clarifications

I’m integrating with Ramp and want to understand how bill voiding works through Ramp. I have a question about bills:

  1. Bill Pay Void/Archive
    The Bill Pay life cycle (https://support.ramp.com/hc/en-us/articles/4417814078611-Bill-lifecycle)states that: Bills cannot be archived if:
  2. The bill payment is processing or has been complete (in-flight payments and paid bills cannot be archived)
  3. The bill was paid manually
  4. 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.

  1. 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.

  2. 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.
  1. 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.