invoice.js: completed