You give my website money, my website gives you the file you need
November 20, 2013 4:39 PM

My dad is a consulting structural engineer. His current approach to billing clients is to finish a job (or portion of a job) and email files along with an invoice generated in (I think) quickbooks. This works fine for his regular architecture firm clients- he knows that they will pay, even if they take 90 days or whatever. The problem is little jobs for people that will probably never hire him again- say, someone who has a sagging beam in their house, and hires him to take a look at it and make a plan for a fix. Once they have the files they need, there isn't much leverage for him to get them to pay, and the amount isn't really enough to take them to court over. What he would like to do is be able to email them an invoice with a link. That link would take the client to a secure website where they can enter a credit card payment, and, after it goes through, give them access to the files that they paid for. Does such a tool exist, preferably as a plug-in or part of something like Freshbooks or the ecommerce portion of Square?

This would actually be part of a general expansion into the web with an actual website for his business. I already have a start on a nice little splash page site on Square, and he has been paying 5 bucks a month to some hosting company to maintain a parked domain name for years, so we can transfer that over easily.

If this is something that would require some coding, that's fine- I do work on websites for my day job- but I would prefer to have a hosted solution that I wouldn't have to do much maintenance on. We would also both prefer to not deal with accounts or storing credit card info in a way that could get stolen later, especially since most of the people using this wouldn't be using it again. Another reason to do this is that it would allow him to take credit card payments in an easy and simple way, especially if he can just use a stripe or square (I know, different square) account. Currently he is cash or check only, another reason that people may not pay.
posted by rockindata to Computers & Internet (13 answers total) 5 users marked this as a favorite
An easy solution would be PayPal, but why not just have him ask for half up front, have upon delivery? Or even pre-pay?
posted by mrrisotto at 4:50 PM on November 20, 2013


If it's hosted by you, or built by you, it's basically the same as asking them to pay upfront, or to pay after he's done the work but before he hands over the document. I suppose you could build that into a service, but since you're talking to the clients anyway, I don't know if there'd be much gain.

If his clients won't pay upfront, some sort of escrow service that both the seller and the buyer trust.
posted by BungaDunga at 4:56 PM on November 20, 2013


This one pops up on Google.
posted by BungaDunga at 4:57 PM on November 20, 2013


Escrow is to protect the buyer- witholding payment until the good or service is performed. What he is looking for is, in effect, an automatic reverse escrow, holding the product until payment is received.

He is a one-person show, and doesn't want to deal with getting back to a client that has finally paid and now wants their files, especially since he is also in the habit of disappearing here and there for a week or more at a time.

There are a number of different ways to manage this problem that involve human interaction. We are looking for something automatic.
posted by rockindata at 5:05 PM on November 20, 2013


You're basically talking about a storefront system selling digital downloads, but the products are unique and one-offs (depending on that job), and can only be purchased by one buyer. So I'd rework e-commerce software if you're really into a custom solution.

-

BUT Harvest (http://www.getharvest.com/) does time tracking, expensing, invoicing, and allows Paypal and Stripe integration. You can send someone a link to an invoice; they can pay via those. This solves half your problem of invoicing + billing.

-

Now - Harvest can also automatically email the buyer after they pay online, and you can write an automated message using these variables:

%invoice_payment_total%
%invoice_issue_date%
%invoice_client%
%invoice_po_number%
%invoice_amount%
%invoice_due_date%
%invoice_subject%
%company_name%
%days_past_due%
%invoice_url%

So if you have an online storage with an appropriate name, you could set up a system where, upon work completion, your dad uploads to a folder such as: http://www.ONLINESTORAGEADDRESS.com/files/completed_work/%invoice_client%/%invoice_po_number%.DWG
or whatever, then sends out the invoice. Upon invoice completion, the proper url will be sent to the client via the automated email.

This is a kind of security through obscurity, and repeat clients would probably quickly catch on to the naming scheme. If you also really wanted to go in depth, Harvest has an API, and you could write a .htaccess+cgi script that, upon access of the above url, grabs the invoice number as a parameter, grabs invoice data from harvest's servers, and after verifying payment completion, releases the files to the user.

In both of these cases, I think going with a solution like Harvest is helpful, both for convenience, but also for trust on the client's end.
posted by suedehead at 5:21 PM on November 20, 2013


This would be pretty easy to do using the e-junkie shopping cart. He could either upload the digital files into e-junkie's system & have it provide the link once the people have paid, or he could have it redirect them to a link on his own website once they've paid/include the link in the "thank you for paying" email it provides. More info
posted by belladonna at 5:47 PM on November 20, 2013


Simplify the process with Harvest - mail them the password protected file with the invoice. When it's paid they get the confirmation with the password. No URL/hosting nonsense that way.
posted by phearlez at 6:01 PM on November 20, 2013


Take a look at Gumroad. I believe it works exactly the way you want: upload a file and Gumroad puts it behind a paywall. The user pays and then can download the file. I think Gumroad then passes that money onto the uploader, taking a small cut.

I haven't used it on the content creator side of things, but I've paid for something to download pretty painlessly. They've raised a few million dollars so I think they're pretty legit.

edit: Just searched my email. I bought this book using it. Perhaps you can reach out to the author to get his experience with the system.
posted by losvedir at 6:45 PM on November 20, 2013


people involved in construction can enforce their accounts by recording a mechanic's lien. i don't know if this applies to structural engineers, or if it would apply if the customer consented to this remedy in the original contract, but it's something he could ask his lawyer about.
posted by bruce at 6:49 PM on November 20, 2013


I would password protect the file, then set up the online payment system to provide the password upon payment. Seems like the least amount of work.

That, or work on retainer.
posted by melissasaurus at 7:31 PM on November 20, 2013


I think requiring payment before delivery of the file is necessary but not sufficient. By the time the file exists, your dad has already done the work and the file is useless to anyone but the one customer; withholding the file may make payment more likely, but also implies that it's okay for the customer to change his mind and skip out after your dad has already done his part. Requiring prepayment or a retainer seems like a much better idea.
posted by jon1270 at 8:07 PM on November 20, 2013


Split the risk by asking for a 50% deposit upfront, and not worrying about any kind of technology approach to handling payments?
posted by migurski at 8:25 PM on November 20, 2013


I think 50% upfront is a very good idea, also, partially because it will help your father weed out bad clients.
posted by suedehead at 8:47 PM on November 20, 2013


« Older Cricket near Times Square?   |   best podcasts for personal growth/ recovery from... Newer »
This thread is closed to new comments.