add carrier wave, fog; first pass at invoice generation + uploading