Show HN: Paid, an API for invoicing
paidapi.comIt's just an invoicing program. There are lots of those. Intuit's is widely used. Oracle is also in that business. There's "Anytime Collect", "Zencash", "Esker", "Celtrino". and many others.
The more advanced players support electronic data interchange (EDI), where your accounts receivable system connects to the buyer's accounts payable system. Many large companies require EDI for suppliers who generate a lot of invoices, so they aren't re-entering invoice data into their own systems.[1] Any new system should have EDI interchange with at least all Fortune 1000 companies.
There are "gateway" companies which handle talking to large numbers of other companies.[2] Once you get this all working, your invoice goes out to the gateway, the gateway formats it and sends it to the paying company, the paying company's systems validate the bill, and they do a funds transfer to your bank account, which is matched to another EDI transaction indicating payment. For most routine transactions, there's no human intervention.
Make that all work for small/medium businesses, and you have a unique product.
The API is "dead simple" because it doesn't handle any of the hard cases. Like "We ordered 1000 but 200 didn't arrive. We're paying for only 800".
[1] http://www.aepedi.com/apay.htm [2] http://www.b2bgateway.net/
"Paid is a simple API" and you are comparing to Oracle?
"Paid is a simple API" but yet you "Many large companies require EDI"?
"It's just an invoicing program." aka "Instagram is just a photo sharing app". Btw invoicing programs aren't trivial (speaking of experience). Even when looking at basic features it is still about actual money.
"Any new system should have EDI interchange with at least all Fortune 1000 companies."
See Freshbooks. They also started as a dead-simple invoicing system. I think without EDI. And I believe they still don't have EDI. They've grown very nicely over the years.
I really like the clean API docs, well done! Did you build it on your own or is that some REST doc framework?
The only thing I was missing from the API (maybe those are there but left out in the docs, which would be totally fine) are links between your resources (to make it a bit more actual REST). You already more promimently documented the usecase ("create an invoice") instead of listing URL endpoints, but with links between the resources, the API becomes even more discoverable for new developers.
Oh, one more minor thing: "Paid uses UTC unix timestamps for all dates and times." -- I was under the impression that unix timestamps are always UTC anyway (i.e. it's defined as "seconds since 1970-01-01 UTC")? If I'm wrong, please correct me :)
The docs are an awesome repo by TripIt (https://github.com/tripit/slate). They aren't perfect, but they get you pretty far pretty quickly.
Not sure what you mean by "links between your resources." Have an example? May be there (or we can build it if not).
Correct on Unix time. Just being extra redundant.
Roy says[1] that to be truly RESTful, your resources (documents) need to be linked between each other, just like HTML pages. There are no definite standards yet (that I'm aware of), but JSON HAL[1] seems to be on the IETF standards track to be the one solution we settle on (just like we "settled on" <a href> in HTML). See also [3] for a broader overview on links in JSON and [4] for more information on resource linking and stuff in general.
[1] http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hyperte...
[2] http://stateless.co/hal_specification.html
What about JSON-LD and linked data platform. At least JSON-LD comes from the W3C Web payement workgroup
I haven't looked into the available techniques for a few months. JSON HAL works fine for me for now. ;)
This is pretty cool. So, I am using Stripe, which is great, but has a few drawbacks right now. I'm also using churnbuster, which is nice (does your "chase" feature do what they do?)
Here's my problems:
1. Some of my customers pay by check
2. Sometimes my customers have an out of date credit card, or haven't given it to me yet, and Stripe won't let me change their subscription to one that charges them.
3. I occasionally do both charges, credits and invoiceitems for in Stripe
4. I have written a lot of Stripe specific code, and would prefer to gradually try out your solution (it might not work, no offense) Can I try it out without moving completely over?
1. Many of our customers get paid by checks. We receive checks for some of them, and our goal is to make as easy as possible to reconcile those payments.
2. If your customer's card is out of date, we prompt the customer to update their card and store it back to Stripe for you.
3. You aren't alone. Some customers use us for pieces of their transaction volume (i.e. only the invoiced customers or only customer paying via ACH)
4. A la #3, you can send us a portion or all. We're also happy to help you get started. It's free to get set up, so you can try it out. We also provide a test environment so you can play around with it as much as you want.
Feel free to always shoot us an email at hello@paidapi.com.!
It should be noted that this is a pivot of a failed YC startup: http://blog.shoptheorem.com/post/109312542795/an-end-and-a-b...
Why should that be noted?
There's no About page or any context to the team and qualifications for running a high-responsibility service, so this is the only information available about the quality of the platform.
Before reading that comment, it should be noted that minimaxir has been rejected from Stanford.
A vendor's history and potential obligations are important.
What decision would this information inform?
"Well, that sounds like an awesome service, I just wish that Paul Graham had OKd it, then we would be in the clear"?
You should think about possible answers to the questions you ask before you ask them. And then, when you do ask them, do it in a better way.
Are there any companies who are using this currently? Can anyone speak to how it's working for them?
We (nomadbits.com) have been using it and everything has been great so far.
We help companies with APIs improve their developer onboarding process, which means we invoice both monthly services (like creating and maintaining high quality API libraries), as well as one-off consulting (like updating documentation and creating "Getting Started" guides), and Paid has been great for both use cases.
Do you have any specific questions?
Full Disclosure - Paid is a customer of ours as well, so we may be slightly biased :D
How does this compare with something like Xero?
It's really quick to start using. It's like a mashup of Segment and Stripe, you just start pinging events and it starts getting you money.
Could you integrate it with Xero? (Rather than relying on Zapier)
We don't directly integrate yet, but we do offer event hooks, so you can port them wherever you want.
I'd love to hear why you don't want to rely on Zapier for this, any feedback?
Some of the APIs we use break often with Zapier (not Zapier's fault). It's easier to have direct integration and let the vendor deal with it.
I don't see a "security" page. Did I miss it?
Is there support for multiple currencies? Could I use this from Australia to invoice clients in multiple currencies (e.g. USD, AUD, CAD GBP)?
Not yet. Started with USD, but hoping to expand that offering soon.
I'm curious, on the technical side, what stack/technologies have you used? Also, did you scaffold the typical crud endpoints or manually wrote them, for each resource?
I'm trying to gain experience in building APIs and yours seems like a good model for doing so :)
Do they actually process charges? I can't find a cost / transaction and a % taken.
We use whatever payment processor you us. So, for example, you'd connect your Stripe account and we process all credit cards using that account. Our pricing is at www.paidapi.com/pricing and based of the revenue tracked/invoiced.
are u the gateway?
Does the laptop in the splash photo bother anyone else? It looks like they photoshopped the keyboard to be much shorter. Look how tall the screen is, then imagine you folded that down to meet the keyboard. That's no laptop I've ever seen!
The whole image is being stretched vertically in CSS ("background-size: 104% 160%;"). You can see the same distortion on the man's arm, the phone, and the pencil holder.
Definitely a "once seen, can't unsee" type of thing but I'll admit I didn't notice it initially. :)
Useful useful!