---
tags: SmartInvoice
---
# SmartInvoice Product Roadmap Ideas
Please list out any features and functionality you think would be cool to build for a crypto invoicing / escrow tool.
List any and all ideas, and then we will discuss together on our call to define the actual roadmap along with the roles/tasks we can map out (and provide to ConsenSys).
### Features & Functionality Ideas
#### Originally Discussed...
* Alternate Billing Options
* Recurring / Subscriptions
* Retainers
* Installments
* Streaming
* Simple direct payment
* Arbitration (Milestone 4?)(need to dig deeper into arbitration process)
* Check arbitrations costs for creating a dispute
* Submit evidence UI - later
* Submit evidence contract - later
* Appeal a ruling - later
* ~~Integration w/ DAOhaus Boost - not super useful~~
* Track Details History
#### New Ideas...
* ~~Tax Reporting for contractor receiving payments~~
* ~~Late fees for unreleased milestone payments~~
* ~~Invoice integration with time tracking software~~
* ~~Accept deposits on proposals or invoices~~
* ~~Cashflow projections report / visual for contractor~~
#### New Ideas For Later...
* Privacy features:
* Encrypt invoice metadata (w/ [lit protocol](https://litprotocol.com/) or other)
* Private payments with Aztec Connect integration (only on Mainnet)
* Verify OpenQ bounty earnings to distribute milestone payments to contributors
* A potential idea for DAOs to provide bonuses to top contributors after accomplishing key goals. Bonuses would be distributed via Smart Invoice and some interface could be used to determine distribution split via OpenQ bounties completed
* API/SDK for other apps and platforms to integrate smartinvoice for their own use case
* Verified profiles like https://triple.xyz/ does with Twitter
* Dedicated payment page for contractor or profile (quick information about contractor / contact info)
* Team distribution on contractor side (secondary product?)
* multiple wallets get paid out after escrow is released
* set terms of distribution (percentage, fixed amount, streaming)
* auto-adjusted if arbitration fee applied
## Use Cases
It's important to be clear what SmartInvoice is, and what it isn't.
What it does...
* sends invoices
* tracks payments
* manages escrow payments
* distributes escrow payments
* integrates with arbitration
What it doesn't do...
* accounting
* task management
* taxes
* custodial wallet
* payroll
### Use Case 1: Simple Payment w/ Invoice
Instead of providing the client with a wallet address to send funds to, the contractor sends a professional invoice with a button/link to pay that invoice with cryptocurrency.
**Benefits to Contractor**
* Professional appearance
* Payment terms clearly displayed alongside price
* No mistakes with client sending money to the wrong address
**Benefits to Client**
* No mistakes sending money to the wrong address
* PDF invoice for accounting and tax purposes
**Notes**
* No arbitration
* Only 1 milestone, pay it and done
* 2 transactions, fund & release
**Ideas**
* Make this a main supported feature, and not just work arounds - build it into existing contract
* Dashboard view for contractor and client (navigation and organization, filters, etc)
* Client Management UI and client profiles like [Freshbooks](https://www.freshbooks.com/client-management-software)
* Multi-step UI for creating invoices
* Invoice link with "Pay Now" button
* Sales Tax calculation added to invoice (automatic tax calculation)
* Income Tax calculation
* Optional "Tip" post project
* Allow to fund and release in one transaction
* maybe even create arbitrationless invoices with release not required
* would need to be clear that this is different use case (#1 vs #2 below)
* Customize invoice with logo and color scheme
* Invoice due dates
* Late fees automatically added
* Custom invoices with alternate project descriptions (e.g. amount, hourly, quantity, etc)
* apply discounts
* Attach files to invoice (currently have URL, but could modify to upload 1 file to IPFS)
* Email invoices, payment reminders (optional)
* ~~Push notifications via EPNS or XMTP~~
* Cross currency conversion (display invoice amount in fiat currency, but accept payment in cryptocurrency) (e.g. $10,000 due, but paid in ETH or BTC)
* Pay with wyre or other onramp services (Moonpay, Transak, etc.)
* Allows contractor to earn in crypto, but client doesn't have to be in crypto
* Auto convert tokens into another token (e.g. ETH payment converts to USDC before sitting in escrow)(so that the contractor doesn't lose because of volatility)
* sushiswap widget?
* link to dex?
* Archive Invoice Data (IPFS related, download history)
* digital copy that lasts forever
### Use Case 2: Simple Escrow Payment
Instead of handling payment before/after work is completed, the client sends payment to an escrow and the contractor only receives payment after the project is completed.
**Benefits to Contractor**
* Less risk of client not paying for work completed
**Benefits to Client**
* Less risk of contractor not completing the project as agreed
* No risk risk of contractor running away with the money paid upfront
**Ideas**
* Allow for invoice without client address registered, let client register (and verify)
* Send invoice without knowing client's address
* Detailed proposal in app with project terms and deliverables that must be agreed upon before payment (helpful for arbitration)
* useful if additional milestones added
* descriptions added for each milestone? (left out for privacy reasons) (password protect or encrypt this)
* options to upload PDF to IPFS that is encrypted
* Payment by Multi-Sig wallet (*documentation and testing)
* can do, but discouraged because don't know how easy it would be to "release" funds
* with Argen wallets it's not easy
* test out tools and create documentation for what works and what doesn't
* Receive payments to Multi-Sig wallet (common use case now and works for Gnosis safe) (*documentation and testing)
* only matters for arbitration "lock"
* documentation and testing tools
* Refund client before receiving funds to contractor wallet (refund or partial refund without going to arbitration) (trigger drop dead date early)
* Choice of Arbitration Provider (need to research first)
* Celeste
* Kleros
* Aragon Court
* Extend Termination Time (changes dynamics - tricky feature)
### Use Case 3: Milestone Escrow Payments
Instead of a single lump sum payment handled via escrow, the project can be separated into milestones with multiple payments as work is completed. The client funds all (or some) of the milestones, and releases funds as milestones are completed.
**Benefits to Contractor**
* Less risk of client not paying for work completed
* Less risk of scope creep
* Consistent cashflow
**Benefits to Client**
* Less risk of contractor not completing the project as agreed
* No risk risk of contractor running away with the money paid upfront
* Less risk of missed deadlines and late work
### Use Case 4: Team Distributions
Instead of payment going to a single wallet, the smart contract releases funds to multiple wallets. The amount allocated to each wallet is pre-determined as a fixed amount or a percentage, and cannot be changed.
**Benefits to Contractor**
* Can work on a project with multiple team members
* No need for a multi-sig wallet
* No need for a DAO
* No risk of a single wallet keeping all funds instead of distributing to team members
**Benefits to Client**
* Able to easily transact with a team
* No need to serve as a project manager and manage multiple contractors
* No need to pay multiple contractors independently
### Use Case 5: Recurring Payments & Subscriptions
Instead of issuing multiple invoices for consistent work, payment is automatically distributed on a fixed schedule (daily, weekly, monthly, every X days). (approve x amount of transactions into the future from their wallet)
**Benefits to Contractor**
* Less overhead of sending out frequent invoices
* Less risk of not getting paid
* Less risk of chasing after the client for payment each month
**Benefits to Client**
* Less risk of service interuption
* Less overhead of dealing with frequent invoices
### Use Case 6: Streaming Payments
Instead of waiting a fixed term before issuing payment to a contractor for consistent work, payment is continually distributed to them from the pre-funded escrow (day, week, month).
**Benefits to Contractor**
* Get paid faster so less need to stockpile funds for monthly expenses
* Less risk of significant loses from token volitility
**Benefits to Client**
* Less overhead of dealing with frequent invoices
* No risk risk of contractor running away with the money paid upfront
### Use Case 7: Retainers
Instead of billing a client for hourly work after a fixed term, the contractor pulls funds from the pre-funded retainer amount as work is completed on a daily, weekly, monthly basis. The retainer is "topped up" once it falls below a pre-determined amount.
**Benefits to Contractor**
* Can do hourly billing
* No risk of client not paying for work completed
* Consistent cashflow
**Benefits to Client**
* Gets continual service on demand
* Access to ongoing expertise without hiring full time