How to build a payments company
If you’re looking to pull money from one party to pay another, you’re probably building a payments company.
Basic funds flow
Most payments companies have the same basic funds flow: funds are pulled from the customer’s account, land in your Increase account, and then are pushed into the payee’s account. Alternatively, payers can push funds to you.
Example 1: Zippy Payroll Inc
Zippy Payroll helps employers pay their employees. Here’s a basic funds flow where Zippy debits an employer for $100 and pays 4 employees $25 each.
Example 2: BillPayments R Us
BillPayments R Us helps companies pay their vendors. Here’s a basic funds flow where BillPayments R Us 1/ debits $750 from their customer and 2/ sends it on to Vendor Web Services.
As a payments company, you’ll need to know your customers. With Increase, you’re in charge of collecting and validating your customers’ information. When you’re getting set up, we’ll review your process. We’ll work with you to make sure everything looks reasonable. You’ll pass your customers’ information to us. We will periodically double-check your results, but you won’t need to block on our review.
Collecting funds from customers
Now it’s time to move some money! When collecting funds from your customers, you’ll have a few options:
1. Pull the money.
ACH debits pull funds from customers’ accounts. You‘ll initiate ACH debits by creating a transfer in the API or in the Dashboard. We like money movement to be speedy so we default to same day ACH whenever possible.
ACH debits can fail. The most common reason they fail is that the account and routing numbers are incorrect. They can also fail if you use an incorrect Standard Entry Class (SEC) code or your customer hasn’t added your ACH Company ID to their allowlist. The best way to know if transfers will succeed is testing! Try debiting $1 before you try debiting $10,000.
ACH debits can also be returned if there aren’t sufficient funds in the account or if the account holder says the transfer is unauthorized. This creates credit risk for your business. How much credit exposure you take is your business decision. We manage our credit exposure to you by having you keep a balance with us.
2. Have your customer push the money.
Your customers can push funds to you by ACH or wire. While these require a bit more legwork from your user, it eliminates the credit risk associated with ACH debits.
Having a user push funds to you also often creates a reconciliation challenge. That’s why we’d strongly recommend creating separate Accounts or Account Numbers for each customer. This way you’ll always know that funds coming into account
12345 are from Customer Inc. because they are the only ones you gave that account number to.
Wire drawdowns, also called ‘reverse wires’, are requests for the receiving bank to send funds. Wires are irreversible. Wire drawdowns are most often used for large business to business transfers.
As you’re moving money, you’ll want to track who’s owed what. We also need to know for Federal Deposit Insurance Corporation coverage. You can do this in one of two ways:
1. Open separate accounts
The easiest way to track customer’s money is to create customer-specific Accounts. Importantly, the Accounts won’t necessarily be owned by your customer if you’re using the For Benefit Of model. You’ll simply use the structure to keep track of customer funds.
2. Pass ledger data
If you're maintaining your own ledger, you can pass us the data through our bookkeeping API.
Paying out to vendors
That’s it! Bills are paid and your customers are happy.
No matter what product you’re building, if you’re moving money on behalf of customers you’ll want to talk to a lawyer. One useful place to start may be getting some advice on how state and federal Money Transmission regulations may apply to you.
Risk and compliance
Moving money typically comes with added risk and compliance requirements. Check out our platform user compliance guide. If you have any questions or want to get started, don’t hesitate to ping us at email@example.com. We can’t wait to see what you build!