PortaPro Docs

Win and serve customers

desktop_windows
Customer Portal
24/7 access to schedules, invoices, and service history.
price_change
Quotes & Invoices
View, approve, and pay documents online.
event_available
Online Booking
Customers book roll-offs and event rentals on your website and pay a deposit. Nothing is scheduled until you approve.
credit_card
Payment Processing
Secure online payments with flexible options.
sms
Inbox
Portal messages, text (SMS), and email in one inbox per customer, plus a Requests tab for everything customers ask for in the portal.
signature
E-Signatures
Sign contracts digitally with audit trails.
build
Service Checklists
Standardized pumping and cleaning workflows.
map
Venue Blueprinting
Pin inventory clusters on satellite maps, link to quotes, and send branded site plans.
mark_email_read
Email From Your Inbox
Send invoices, quotes, and sales email from your real address, with your real deliverability.

Run the field

assignment_add
Job Schedules & Dispatch
Create jobs, dispatch routes, and manage recurring service.
alt_route
Route Optimization
Routes planned around tank capacity, disposal-site hours, and service windows.
smartphone
Mobile App
Offline-first workflows for field operations.
location_on
Unit Pins
Every unit's exact spot on the site map. Drivers move pins from the field.
description
Services Hub
Service requests, checklists, and proof-of-work logs for every job.
sms
Team Chat
Channels and direct messages for drivers, dispatch, and the office.
connect_without_contact
Walkie-Talkie
Push-to-talk inside the PortaPro app, on the channels your crew already uses, with searchable transcripts.
phone_in_talk
Calls & Huddles
1:1 calls and channel huddles for your crew, plus meetings customers join from a browser.

Control the business

inventory
Equipment Inventory
Availability by date, so a weekend booking shows before the weekend.
festival
Event & Tent Rentals
Kits, tents booked by size, pull sheets, scan-back check-in, and charges for what comes back missing.
dashboard
Event Layouts
Tents and tables to scale on the venue or its floor plan, seating charts from the guest list, and a share link for comments and approval.
calendar_month
28 Day Invoicing
Bill every site automatically on the industry-standard 28-day cycle, with duplicate prevention built in.
attach_money
Bookkeeping & Billing
Quotes, invoices, expenses and receipts, bank reconciliation, and QuickBooks, Xero and FreshBooks sync.
group
Customer Accounts
Profiles, sites and locations, contacts, and history.
format_list_bulleted_add
Leads & Deals
The CRM built into PortaPro.
outdoor_garden
Temporary Fencing
Draw the fence on the satellite map or type the feet: panels, gates, stands, clamps and sandbags counted for you, screen priced by the foot.
Roll-Off Rentals
Live ledger for every container on the ground, overage and landfill disposal billed from the weight ticket, and dumpster requests from the customer portal.
local_shipping
Fleet Management
Maintenance, compliance, inspections, and vehicle tracking.
my_location
GPS Tracking
Plug-in trackers for the trucks, battery tags for the units, and an alert when a unit leaves its pin.
phone_in_talk
Business Phone
A real business line with an IVR, ring groups, voicemail, and recording. Click to dial, ring your cell, and every call logs itself on the customer.
manage_accounts
Team Management
Roles, the time clock, and the credentials about to expire.
person_add
Hiring
A careers page, an application built for CDL drivers, and a Hire button that turns the applicant into a team member.
wallet
Payroll
W-2 and 1099 payroll inside PortaPro. In beta, rolling out in stages.
bar_chart
Reporting & Analytics
Gallons by disposal site, overdue sites, and reports on your billing cycle.
water_drop
Septic Service
The tank on the customer's record, pump-out dates predicted, and every septic report form, from pumping to real estate transfer, shipped and attached to the job.
Also in PortaPro:QuickBooks Sync,Xero Sync,FreshBooks Sync,Claude & ChatGPT,Equipment Scanning,Shared Truck Devices,Consumables,Marketing Tools,Automated Review Requests,Septic Reminders,Celebrations,Help & Support

Run your portable sanitation operation from lead to ledger.

One system, 46 features, no per-user or per-vehicle fees or limitations.See all featuresarrow_forward

Learn & Discover

calculate
ROI Calculator
Estimate time, labor, fuel, and cost savings with PortaPro.
route
Route Efficiency Simulator
See how optimized routing can increase weekly service stops.
scale
Dumpster Weight Calculator
Estimate debris weight and the roll-off size it needs.

Support & Training

headset_mic
Support
Submit a request, email our team, or book a call.
support
Help Centeropen_in_new
Guides, documentation, and step-by-step setup resources.
favorite
Our Promise
Why we refuse to let software get worse over time.

GPS Asset & Vehicle Tracking

How GPS tracking works
location_on
Unit tracking device
A sealed battery tag inside the unit. It reports when the unit moves, and the battery lasts five to seven years.
navigation
Vehicle tracker
Plugs into the truck's OBD-II port. Live location, plus odometer and fuel on supported trucks.

Solutions

local_shipping
In the Field
A service day from the yard to the invoice, and where each job goes wrong.
wc
Portable toilet operators
Same-day missed stops, proof for every stop, and rate card invoices.
water_drop
Septic operators
Pump-outs predicted from the tank, and the county's own forms filled from the job.
water_drop
Grease trap service
Each trap on its own cadence, and the FOG 25% rule measured.
Roll-off haulers
Days past term, tons over the allowance, and landfill fees on one final invoice.
celebration
Tent and party rentals
A tent booked by size, packages as one line, every chair checked in.
festival
Event and festival operators
A site plan on the quote, and a weekend priced as a weekend.
account_balance
Municipal contracts
Invoices before the period with the PO printed, and a record of every park visit.
domain
Multi-location operators
Several yards, service territories, divisions, and roles in one account.
Why Operators SwitchPricing
Sign Inrocket_launchStart Free Trial
homeHelp Centerchevron_rightBilling & Invoicingchevron_rightCash Discount Program

Cash Discount Program

schedule9 min read
calendar_todayUpdated October 3, 2026
Cash DiscountDual PricingPaymentsBillingInvoiceQuoteSurchargeACHCashCheckProcessing FeeAccount CreditCall It Even

On this page

Turn it on and pick a pricing modelThe discount rate is lockedIs it legal?The cash price is fixed on each documentTaxesWhat customers seeRecording a cash or check paymentWhich payment methods qualifyAccount credit and prepaymentsRolling it outRelated articles

Need more help?

Need more help?

Contact Us

Have questions about PortaPro? Fill out the form below and our team will get back to you within 24 hours.

Or schedule a quick call at a time that works best for you.

Contact Us

Have questions about PortaPro? Fill out the form below and our team will get back to you within 24 hours.

Or schedule a quick call at a time that works best for you.

PortaPro

Contact:
support@portaprosoftware.com

© 2026 PortaPro. All rights reserved.
All-in-one software for portable sanitation operators.

Quick Links

PricingROI CalculatorDumpster Weight CalculatorFree TemplatesSeptic Rules by StateCompare SoftwareBlogIn The Field

Platform

DispatchBillingFleet ManagementCustomer Portal

Support

Contact supportGetting set upHelp Centeropen_in_newStatusCareers

Company

TermsPrivacyCookie PolicySecurityAccessibilityAbout

Serving operators across North America. Proudly Built in America. 100% US Customer Support

Privacy Policy·Terms of Service·Accessibility·Contact

The Cash Discount Program shows one listed price on every quote and invoice and takes an exact discount off for customers who pay without a card.

  • One listed price. Every quote and invoice shows a single Total that includes card processing. That listed price is the most a customer ever pays, including on your online payment link.
  • An exact discount for paying without a card. Customers who pay by cash, check, ACH, or any other method you add (Zelle, PayPal and so on) pay your real price: the familiar round numbers you set.
  • The rate is locked to your real cost. The discount is exactly what a card payment costs you under the program: 2.9% on PortaPro flat-rate processing, Stripe's standard 2.9% + 30¢ otherwise. Nobody types the number in, so it can't drift.
  • You net the same amount either way. The card payer's extra covers the processing fee to the cent; the cash payer's discount comes off a price that had it built in.
  • Without the program, every card payment costs you a processing fee. With a hand-typed discount that doesn't match the fee, you either overcharge card payers or eat the gap on every card. Locking the rate to the real cost is what makes the program both honest and free to run.

    Turn it on and pick a pricing model

    Go to Settings → Finance → Cash Discount. The page asks one question: which describes your prices today? The discount comes off the listed price either way; the answer decides whether that listed price is raised first.

  • Raise my prices to cover card processing (recommended). Your prices are what you need to receive. New quotes and invoices are listed at the card-inclusive price, computed from your price and your locked rate: your price ÷ (1 − 2.9%) on flat-rate processing, or (your price + 30¢) ÷ (1 − 2.9%) on Stripe's standard rate. The cash discount is the exact dollar difference back to your price, never a percentage applied in reverse. You receive your price either way.
  • My prices already include card processing. You priced with the card fee built in, so it comes back off for cash payers and listed prices stay as they are. Pick this only if it is literally true: if your prices don't already include the fee, this option gives every cash customer a discount out of your margin.
  • Why not just discount a round 3%? A reverse percentage never mirrors a processing rate: a 3% raise followed by a 3% discount always lands short (1.03 × 0.97 = 0.9991), and a fixed per-transaction fee can't live in a percentage at all.

    Worked example: a $400.71 invoice on flat-rate processing (2.9% under the program)

    Listed price (what the invoice says)$412.68
    Cash / check price$400.71
    Customer saves by paying cash$11.97
    Card fee if paid by card$11.97
    You receive, either way$400.71

    The How It Works panel in settings shows the same example at your own rate.

    The discount rate is locked

    The Discount Rate row in settings is read-only. It shows what your connected Stripe account actually pays for a card payment:

    Your processingDiscount rate
    PortaPro flat-rate processing (Growth plan)2.9%, nothing fixed
    Stripe's standard rate passed through (below Growth)2.9% + 30¢
    Stripe's standard rate on an older connected account2.9% + 30¢
    No Stripe account connected yetWhat connecting today would give you

    It updates on its own when your processing changes. Switch to flat-rate processing in Settings → Payments and every new document is priced at 2.9%.

    Why 2.9% and not 2.25%? Flat-rate processing has two card rates. When you absorb the fee yourself (the program is off, or a customer is excluded from it), a card payment costs you 2.25%. When the program is on, your customer pays the card cost in the listed price, so the rate is 2.9%: still no 30¢ per payment, and still below Stripe's own 2.9% + 30¢. Either way you receive your price. Each invoice keeps the rate it was priced at. An invoice sent before you turned the program on is still charged 2.25% when it is paid by card, and one priced under the program stays 2.9% even if you turn the program off later. Bank transfers (ACH) stay free.

    Is it legal?

  • Cash discounts are expressly permitted by the Cash Discount Act of 1981 (a Truth in Lending Act amendment) and protected by the Durbin Amendment, which bars card networks from interfering with them.
  • They are legal in all 50 states and need no card-brand registration.
  • The restricted practice is the opposite direction: posting a lower price and *adding a card fee at checkout*. That is banned in Connecticut, Massachusetts and Puerto Rico, capped by Visa at 3%, and never allowed on debit or prepaid cards. A cash discount avoids all of it because the listed price is the regular price.
  • Locking the discount to your real processing cost means a card payer never pays more than the card costs you.
  • The one obligation everywhere: disclose both prices before the sale. PortaPro prints your disclosure on every quote and invoice.
  • This is orientation, not legal advice. Confirm specifics with your accountant or attorney.

    The cash price is fixed on each document

    The moment a quote or invoice is created, its cash price is stored on it, in both pricing models. That is the price every surface shows (PDF, email, portal, quote page, Collect Payment). Changing the settings later, or your processing rate changing, never moves a price you already sent.

    An invoice created before you turned the program on has no stored cash price:

  • Raise my prices to cover card processing: no discount is offered. That invoice was never raised, so it is already at your real price, and Collect Payment pre-fills the full amount.
  • My prices already include card processing: the discount applies at your locked rate.
  • Taxes

  • Raise my prices to cover card processing: sales tax follows the price actually paid. Card payers pay tax on the listed price. A cash payer's discount is seller-funded and taken at the time of sale, so it reduces the taxable amount, like a store coupon. PortaPro works out each side's tax.
  • My prices already include card processing: tax is charged on your listed price and the discount comes off afterwards. After tax / Before tax only chooses whether the rate is taken of the total or of the pre-tax amount; it does not change the tax charged.
  • What customers see

  • Quotes, invoices, emails and the online quote page show one Total with a green panel beneath it: the cash price, the exact savings, your eligible methods by name, and your disclosure. If you discount cash, check and Zelle, the panel says "Cash / Check / Zelle price" and "You save $11.97 by paying cash, check, or Zelle."
  • The online payment link charges the total shown for a card (and Apple Pay / Google Pay). When ACH / Bank Transfer is one of your methods, it also offers Bank account at the cash price, and the "pay all" page for a group of per-site invoices does the same. The customer picks one up front, so the price never changes mid-checkout. A bank payment takes a few business days to clear and costs you no processing fee.
  • Recording a cash or check payment

    Collect Payment applies the discount automatically when the payment settles the invoice at the cash price. It shows both prices for the method you picked ("Check price $150.00 · card price $153.45") and never changes an amount you typed.

  • A partial check is applied at face value and earns nothing yet. The invoice keeps showing both prices for what is left, and the check that completes the cash price earns the discount, so the rest can never be paid by card at the cash price.
  • A check for exactly the listed (card) price asks what to do with the difference: Accept it as payment in full (no discount, no credit; preselected for customers without a rate card) or Give the discount and keep the difference as account credit (preselected for rate-card customers; it comes off their next invoice).
  • 1¢ to 99¢ over the cash price asks Call it even (preselected) or Keep $X as account credit. Calling it even records a slightly smaller discount: a $480.00 check on a $479.96 check price shows "Cash discount applied −$11.01" instead of −$11.05.
  • $1.00 or more over the cash price becomes account credit automatically.
  • Receipts show the applied discount and the method that earned it. If the payment is later reversed or refunded below the cash price, the discount comes off and the full listed price is owed again.

    Which payment methods qualify

  • Cash, Check and ACH / Bank Transfer are checkboxes. With ACH ticked, bank payments you record yourself (a wire, a bill-pay transfer) earn the cash price, and the payment link offers Bank account at the cash price. With ACH unticked, every online payment is charged the listed total.
  • Other ways you accept payment is a list you add to: Zelle, PayPal, Venmo, money order, anything that costs you nothing to accept. Each becomes its own choice in Collect Payment and is named in the customer message. Up to eight.
  • Debit cards are not an option. PortaPro can't tell a debit card from a credit card at payment time, so a debit discount could only be advertised, never earned.
  • Per-customer exemption: turn the program off on a customer's profile for negotiated-contract customers. Their documents keep your normal prices with no discount shown.
  • The suggested disclosure sentence follows your method list until you edit it; Use suggested text brings it back.

    Account credit and prepayments

    A credit on a customer's account remembers how it was funded, and that decides the price it earns:

  • Credit from a check, cash or ACH payment earns the cash price, as if the customer had paid that invoice by check. A customer who prepays the season with one check is a cash payer for every invoice that check covers.
  • Credit from a card payment pays the listed (card) price.
  • Credit with no funding method (goodwill, a dispute settlement, an imported balance marked "Not sure") pays the listed price. PortaPro never guesses.
  • How the credit was createdFunding method
    Overpayment on Collect PaymentThe method recorded on that payment
    Overpayment on a card charge or the payment linkCard
    Issue Credit → Prepayment receivedThe How was it paid? answer (Check, Cash, ACH / bank transfer, Credit card, Other with a label such as Zelle)
    Issue Credit → goodwill, dispute, other reasonsNone (pays the listed price)
    Customer import, negative opening balanceThe row's prepaid_via column, else the Billing & Tax step's How were these prepayments made? answer

    An eligible credit earns the cash price when it covers the whole invoice at that price: the invoice closes at the cash price and the receipt names the method. A credit that covers only part of an invoice is applied at face value and earns nothing yet; the invoice keeps showing both prices for what is left ("Pay by card $150.00 / Pay by cash or check $146.55"). Each credit is judged on its own funding.

    Reviewing "paid the card price" credits

    Credits recorded before Collect Payment asked about card-price checks are listed under Review on Financials → Invoices ("N customers paid the card price by check or cash"). Settling one keeps the payment, removes the credit and takes the discount back off the invoice. It asks you to confirm (Yes, settle at the card price), and it refuses any credit a later sent invoice has already told the customer about.

    An invoice with a discount applied while money is still owed

    Before September 29, 2026 a partial check earned the discount on the whole invoice. Those invoices show "$X still due · $Y cash discount applied", and Billing Health lists them under Cash discount applied while money is still owed. If the customer will pay the rest by cash or check, nothing is needed; if they may pay by card, contact support.

    Reports

    Under Reports → Receivables & Payments:

  • Card Price Paid by Cash or Check lists every cash, check, bank or custom-method payment above the cash price and what happened to the extra: Kept as payment, Held as credit (on account) or Held as credit (used), with a Billing column of Rate card or One-time. A one-time customer holding credit has no next invoice to use it on.
  • Cash Discount Program Summary shows by month what the card price added on card payments, what processing actually cost, the difference, and the discounts you gave.
  • Settings → Finance → Billing Health also lists Card-price overpayment kept as credit that will not get used (a customer with no rate card, or credit unused for more than 60 days).

    Rolling it out

  • Turn the program on and pick the pricing model in Settings → Finance → Cash Discount. If the Discount Rate shows 2.9% + 30¢, switching to flat-rate processing in Settings → Payments lowers your card cost and the discount together, to 2.9% with nothing fixed.
  • Existing documents are untouched. Only newly created quotes and invoices carry dual pricing.
  • Give customers a short heads-up: "prices now include card processing; pay by cash or check and it comes right back off."
  • Keep the disclosure on. It is the legal backbone of the program.
  • Related articles

  • Recording Payments & Credits
  • Get Paid Faster with Payment Links
  • Was this article helpful?

    Related Articles

    menu_book

    Quotes and Invoices: the Financials Lists

    9 min read

    chevron_right
    menu_book

    The Quote Wizard

    14 min read

    chevron_right
    menu_book

    Quote Statuses, Sending and Converting

    9 min read

    chevron_right