Guest post by Jake Torres, owner of Torres Trim & Finish in Portland, Oregon. Jake switched from Jobber + QuickBooks to Bit & Grain in early 2026. This is his story.
There is a specific moment in any software migration where the new system goes from "probably fine" to "actually mine." For me, that moment came when my client Sarah paid her invoice through the Bit & Grain client portal while I was sitting in my truck eating lunch.
I had sent the invoice at 9 in the morning. By noon it was paid. I had not sent a reminder or followed up. She just clicked the link and paid.
That had never happened with a PDF invoice.
Creating the Invoice From the Job
The bookcase job I created on Day 3 was complete. The client had approved the estimate, the work was done, and I needed to invoice for the balance.
In Bit & Grain, invoicing a job means opening the job record, reviewing the work completed vs. the estimate, and clicking "Create Invoice." The invoice pulls from the approved estimate automatically. The line items, the prices, the client details: all pre-populated.
I did make two adjustments: I added a line item for a material upgrade the client had requested (quarter-sawn oak instead of the standard red oak I had spec'd), and I removed a line item for work we ended up not needing to do. Both changes were easy. The updated invoice total reflected the actual work.
The invoice was sent to the client's portal link with one click. No PDF to attach. No email to compose. Just "Send Invoice" and it was live in the portal.
What the Client Portal Experience Looks Like
The client portal is a clean, mobile-friendly page that the client accesses via a link sent by email. It is not a login-required account. The client clicks the link and lands directly on their project view.
The portal shows:
- The original estimate they approved
- Any change orders that were added
- The current invoice with line items
- The total amount due
- A "Pay Now" button connected to Stripe
My client told me later that she had been on her phone when the email came in, clicked the link, reviewed the invoice in about 30 seconds, and paid with her saved card. The whole interaction took under two minutes on her end.
From my end, I got a payment confirmation notification while I was still eating lunch.
The Contrast With the Old Workflow
My previous invoice process: create invoice in Jobber, export as PDF, attach to email, write a brief message, send. Then wait. Typically I would follow up two or three days later if I had not heard anything. Sometimes the client would say they had not gotten the email (it went to spam), and I would resend. The average time from invoice sent to payment received on my first six months of Jobber data was 28 days.
In Bit & Grain, the invoice went from creation to paid in three hours on a first try. I understand that one data point does not mean the average will be that good. But the portal-based experience removes several friction points that the PDF process creates. The client does not have to figure out how to pay. They do not have to find their checkbook or set up a bank transfer. The payment option is right there.
Receipt Scanning on the Same Day
On the afternoon of the invoice day, I did a supply run for another job. I bought materials from three different vendors. I scanned all three receipts with Grain AI while sitting in the parking lot of the last store.
Total scanning time: 90 seconds for three receipts. All three were assigned to the correct job. The job P&L for that project updated automatically.
This was the clearest demonstration of the time savings I had seen in the first week. The same three receipts in my old workflow would have sat in my truck, been sorted into a folder at the end of the week, and entered into QuickBooks one by one during my Sunday evening reconciliation. Total old-workflow time for those three receipts: probably 20 minutes across the week. Total new workflow time: 90 seconds in the parking lot.
The Payment Reconciliation Question
One question I had when I started: how does the money actually get to my account?
Stripe is the payment processor. When a client pays through the portal, the funds go to a Stripe account connected to my Bit & Grain account. From there, funds transfer to my bank account on a standard Stripe payout schedule (typically 2 business days).
This is different from my old setup where I was invoicing through Jobber and accepting payments via check or a separate Stripe account. The integrated portal-to-Stripe-to-bank flow is simpler. One less reconciliation step.
The Tax Question
Bit & Grain handles job P&L and invoicing. It does not handle payroll or tax preparation. I still use a separate accountant and a basic spreadsheet for quarterly estimated taxes. This was not a problem for me because I had already separated those functions in my old setup (QuickBooks for bookkeeping, a CPA for taxes). But if you are hoping to replace QuickBooks entirely including tax preparation, you will want to plan for that piece separately.
For job costing, tracking income and expenses per project, and understanding actual margins, Bit & Grain handles it completely. For federal and state tax filings, you still need either an accountant or a separate tax tool.
How Bit & Grain Helps
The invoicing system connected to the client portal is the feature I underestimated before trying it. The friction reduction in the payment process is real and measurable.
Comparing the Jobber workflow to the Bit & Grain workflow, the payment experience is probably the single biggest user-facing improvement. The invoice is not a document you send. It is a portal the client visits.
Day 6 (the final entry in this series) covers the 30-day retrospective: the numbers comparison after running everything on Bit & Grain for a full month.
What Happened With the Other Two Invoices
In the same week, I sent two other invoices through Bit & Grain. Here is what happened with those:
Invoice 2: A concrete contractor I had worked with on a shared project. He is in his 60s, not particularly tech-forward. I was slightly worried the portal link would confuse him.
He paid in 6 days, which is actually faster than his average with emailed PDF invoices. When I talked to him afterward, he said the link just took him to a page where he could pay, and he paid. He did not have any particular reaction to the portal; it was just how he received the invoice. That was the outcome I wanted.
Invoice 3: A new client who had approved an estimate the prior week. She had already navigated the estimate portal, so the invoice portal was familiar. She paid in 3 days.
Three invoices in the first week: paid in 3 hours, 6 days, and 3 days. Average collection time: just under 3 days.
I do not want to overstate what this means for typical performance. These were a self-selected sample (I started with jobs where I was confident about the client relationship). But the pattern was encouraging enough to keep going.
The Stripe Connection and Bank Deposits
A practical note for anyone not familiar with Stripe: setting up the Stripe connection the first time takes about 20 minutes. Stripe requires business verification (business name, address, EIN, bank account details, and a form of personal identification). This is standard for any payment processor and is worth doing correctly from the start.
Once connected, funds from portal payments show up in your Stripe dashboard within 24 hours of payment. Stripe then deposits to your connected bank account on the standard T+2 schedule (2 business days after the payment clears).
I connected my existing business checking account. The first deposit from a portal payment arrived 3 business days after the payment was made (one day in Stripe processing plus the 2-day transfer). Subsequent deposits arrived on the standard 2-day schedule.
This timing is worth understanding upfront: the money does not land in your bank account the same day a client pays. If you have cash flow timing constraints, factor in the 2 to 3 day delay.
The Client Communication That Changed
One thing I did not track before but started noticing after switching: the nature of client communications about money changed.
Before: clients would call or text to ask about invoice status, confirm whether their payment had been received, or request copies of old invoices.
After: those communications effectively stopped. The portal shows payment status in real time. Clients who paid can see that their invoice shows as paid. Clients who have not paid can see the outstanding balance without needing to call.
I had not expected this benefit, but it is real. Three or four client calls per month that I was spending 5 to 10 minutes on each are essentially gone. That is another 20 to 40 minutes per month recovered, from a source I had not even counted.
