Turns out most APIs don't actually have an "overdue" status
Working on a finance side AI tool, and one thing that surprised me: Stripe's invoice object doesn't have an "overdue" status at all. It only tells you "open" or "paid" overdue is something you have to derive yourself by checking if it's open and past its due date. If you build against the API assuming "overdue" is a real field, you'll confidently tell someone nothing is overdue when their business is full of unpaid invoices.
Feels like a small thing, but it's the kind of gap that's easy to miss until it actually costs someone money. Made me a lot more paranoid about assuming any third party API's status fields mean what they sound like they mean.
Curious if others building against Stripe/QuickBooks/accounting APIs have hit similar "the field name lies to you" surprises, feels like a common trap.
Replies
I think this is where a clear domain model becomes really valuable. Instead of trusting provider lables, I would calculate business states once and let the rest of the product rely on those definitions.