intermediate
b2b
corporate
invoicing

B2B Corporate Accounts

Set up corporate customers with pre-negotiated rates, multiple user logins, and NET-30 Stripe Invoicing

Levy Fleets TeamMay 18, 20268 min read

B2B Corporate Accounts

B2B accounts let you serve corporate customers who do not want to pay by credit card at each booking. Instead, every booking rolls into a monthly invoice on NET-30 terms, billed automatically via Stripe Invoicing.

Typical use cases:

  • A logistics company that rents 20 cargo bikes per month for last-mile delivery.
  • A university transportation department that books an e-bike fleet for staff.
  • A hotel chain that books on behalf of guests, settles weekly.
  • A corporate office that runs a "free bike rental" perk for employees.
  • A film production company renting for a multi-week shoot.

How a B2B account differs from a guest booking

Guest bookingB2B booking
Payment timingPer booking, at checkoutMonthly, NET-30 invoice
PricingStandard pricing tierPre-negotiated rate card
UsersOne customer record per bookingMultiple authorized dispatchers under one account
CreditCard requiredCredit limit (configurable)
ReceiptStripe receipt to the riderStripe Invoice to the AP contact
Approval flowNoneOptional — requires admin approval on every booking

Create a B2B account

  1. Open Dashboard > Bookings > B2B Accounts.
  2. Click New B2B account.
  3. Fill in:
FieldExampleNotes
Company nameAcme LogisticsWhat appears on invoices
Billing emailap@acmelogistics.comThe accounts-payable inbox that receives invoices
Default pricing tierAcme Corporate RateA pre-negotiated tier you create just for this account
NET terms30 days15, 30, 45, or 60
Credit limit$5,000Bookings paused if running balance exceeds this. Set $0 for no limit.
Tax-exemptnoIf yes, attach the customer's resale or exemption certificate
ActiveyesToggle to suspend without deleting
  1. Save.

When you save, the system creates a Stripe customer on your subaccount's connected account and prepares the recurring billing schedule.

Add authorized users (dispatchers)

A B2B account can have multiple users who can book on behalf of the company.

  1. Open the account.
  2. Tap Add user.
  3. Enter their email, display name, and role:
    • Admin — manages other users, sees the running balance, approves bookings.
    • Booker — books on behalf of the account but cannot manage users.
    • Viewer — read-only access to the booking history.
  4. Save.

The user receives an email with a magic-link sign-in. On their next visit to the hosted page or widget, they see a banner: "You are booking as Acme Logistics — your bookings will be invoiced monthly." Their bookings automatically use the account's pricing tier and skip card payment.

Set the pre-negotiated rate card

In Dashboard > Pricing, create a pricing tier scoped to this B2B account:

Vehicle modelHourlyHalf-dayFull-dayWeekly
EB100$8 (vs $12)$30 (vs $45)$55 (vs $80)$300 (vs $450)
ES400B$10 (vs $15)$40 (vs $60)$70 (vs $100)$400 (vs $600)

Assign this tier as the B2B account's Default pricing tier. Every booking the account makes uses this tier instead of your standard tier.

You can override pricing tiers per vehicle model — useful if the corporate customer gets a discount on bikes but pays standard rates on premium e-bikes.

The booking flow for a B2B user

When a logged-in B2B user visits the hosted page or widget:

  1. They see the corporate-rate prices throughout the flow.
  2. The payment step is replaced with a "Charge to Acme Logistics" confirmation.
  3. They enter the rider's name and phone (the rider may not be the booker — e.g. a dispatcher booking a delivery driver).
  4. The booking confirms immediately. No card capture.
  5. Confirmation email goes to the rider and to the booker.

If the account has Require admin approval turned on, the booking sits in pending_approval status and a notification goes to every admin. An admin opens the booking and either approves it (becomes confirmed) or rejects it.

Monthly invoicing

At the end of each billing period (default: calendar month, configurable per account):

  1. The system aggregates every completed booking from that period for this account.
  2. Generates a Stripe Invoice itemized by booking with date, rider, model, rate, and total.
  3. Sends the invoice via Stripe's hosted invoice email to the account's billing email.
  4. The invoice is also visible in Dashboard > Bookings > B2B Accounts > > Invoices.

The customer pays via Stripe's hosted invoice page (ACH, card, or wire). NET-30 terms apply — the invoice is due 30 days from the billing date.

You can also trigger an interim invoice mid-period:

  1. Open the account.
  2. Click Generate invoice now.
  3. Pick the date range.
  4. Confirm.

A new invoice is generated covering bookings within the chosen range and the customer is emailed.

Credit limits and overage handling

If the account has a Credit limit of $5,000 and the running balance reaches $5,000 with unpaid invoices:

  • New bookings show "This account has reached its credit limit — please contact us to settle the balance" instead of confirming.
  • Existing bookings continue to run; the limit only blocks new ones.

To unblock, the customer pays an outstanding invoice. As soon as the payment lands in Stripe, the running balance updates and bookings resume.

You can also temporarily raise the credit limit from the account detail page for known cases (large event week, etc.).

Tax handling

If the B2B account is tax-exempt (resale certificate, government, non-profit):

  1. Open the account, tap Tax-exempt: yes.
  2. Upload the exemption certificate PDF.
  3. The exemption applies to every booking on this account going forward.

The exemption certificate is stored on the account and surfaces on the invoice PDF so the customer's AP team has the paperwork they need.

For mixed-jurisdiction operators, the tax engine still applies the right jurisdiction's rate to non-exempt bookings.

Refunds and adjustments

B2B refunds work differently from card bookings:

  • A refund on a B2B booking creates a credit memo that is netted against the next invoice.
  • If the invoice has already been issued, the credit memo appears as a negative line item on the next month's invoice.
  • If the invoice has already been paid, you can either let the credit roll forward to the next invoice (default) or issue a Stripe refund back to the original payment method.

Always refund through the reservation, never directly to the wallet — this keeps net_deposited and partner payouts correct.

Reporting

In Dashboard > Bookings > B2B Accounts > , you see:

  • Running balance (sum of unpaid invoices + uninvoiced bookings).
  • This-period invoiceable amount.
  • Last invoice date and status.
  • Bookings count this period.
  • All-time GMV.

Across all B2B accounts: Dashboard > Analytics > Booking Sources breaks out widget, hosted, iPad, and B2B revenue separately so you see how much of your GMV is on NET-30 vs prepaid.

Bill.com and other AP tools

Levy Bookings uses Stripe Invoicing as the invoicing backend, not Bill.com. Most corporate AP departments are happy with Stripe's hosted invoice page (it accepts ACH, card, and wire, and the receipts are standard PDF). If you have a customer who specifically requires invoices delivered into Bill.com, you can forward the PDF manually or use Bill.com's email-in feature with the Stripe invoice email.

Native Bill.com integration is a possible future expansion if multiple operators ask.