Demo mode. New workspaces open on fictional sample books. Reminders stay in the Outbox and are not emailed. Plans activate without a card until a Stripe key is set.

Help

Set up PaidUp and keep it quiet.

Four steps on the desk cover a first run. The rest of this page is the detail behind setup, reminders, bill audit, filing windows, and texts. Questions go to support@paidupai.com.

Setup

  1. Create a workspace. Demo mode loads a fictional company so the desk is not empty. A live company starts blank until QuickBooks is connected.
  2. Connect QuickBooks from QuickBooks. The only scope is com.intuit.quickbooks.accounting, and every accounting call is a read. PaidUp does not create, edit, void, or delete anything in the file. Disconnect any time at /disconnect.
  3. Set a from address in Settings. Reply-To stays your login email. In demo mode every message stays in the Outbox.
  4. Open the queue and approve the first batch before live reminders leave the building. Test mode still sends to you, with a [TEST] subject.
  5. Turn on the Monday summary from the desk checklist. It stays off until you do.

Listing codes are redeemed at /redeem when that page is turned on. One code is one QuickBooks company, two codes are three companies, and three codes are ten. The plan is lifetime, with unlimited invoices and reminders. Each code works once, and an account can hold three. A license key from the AppSumo licensing API is still redeemed at /appsumo. Tier 1 is one QuickBooks company and 500 reminders a month. Tier 2 is three companies and 2,000. Tier 3 is ten companies and no monthly cap. Extra codes stack up to tier 3.

Two-factor sign-in

Account owners sign in with a password and then a 6-digit email code, unless they turn two-factor sign-in off in Settings. New accounts start with it on. The code expires in 10 minutes and allows five attempts. A resend is rate limited so the mailbox is not flooded. The code is stored only as a hash. The session cookie is issued after the code is verified. Trusting a device sets a signed cookie that skips the code for 30 days.

Sign-in codes are sent through Resend whenever RESEND_API_KEY is set, even if reminder mail is still on the mock provider. The from address is AUTH_EMAIL_FROM, or PaidUp <login@paidupai.com> when that is unset. Without a key, a local development server writes the code to its log instead of sending it.

Reminders

The daily job looks at open invoices with a balance: a few days before the due date, the due date, 1–7 days late, 8–30 days late, and 31 or more days late. Each invoice gets one note per tier. A later tier can still send. A zero balance stops the sequence.

Before a live send, the balance is read again. If QuickBooks shows the invoice paid, the reminder is skipped. If the balance dropped, the note is rewritten for what is left. If that read fails, the send is skipped rather than guessed.

Disputes and “customer says paid” pause the invoice. A promised date pauses until that date is past. Excluded customers are skipped. A missing email puts the invoice on Call these. You can paste a reply on the invoice when the customer wrote straight to you.

Test mode sends to you. Turning it off requires an active plan and then sends to the email on the invoice. A monthly AppSumo cap counts live reminders across every company on the account. Test-mode sends do not count.

Bill audit

Vendor bills are checked after each sync. The same vendor and amount inside 30 days, or the same bill number, is a duplicate. A unit price more than 10% above that vendor’s prior price for the same item is a price flag. Quantity times rate is compared with the line amount, and the line sum is compared with the bill total, both within one cent.

Each flag has an estimated overcharge. The credit-request draft is for you to copy or send. Nothing is emailed to a vendor automatically, and nothing is written back to QuickBooks.

Liens and retainage

On an invoice you can record a job state, a completion date, and retainage. PaidUp counts days left against the cited filing window for Georgia, Florida, North Carolina, South Carolina, Tennessee, and Alabama. Alerts at about 30 days and 10 days go to you. Customers never receive them.

This is not legal advice. Confirm the deadline with an attorney.

Retainage held on open jobs is totaled on the desk. When you mark the job complete, a retainage reminder can go out on the same schedule as other reminders. That note asks for the held amount. It is not a lien notice.

SMS

Texts are optional and off until a customer opts in. The consent is stored with the phone number, the time, and the timezone used for quiet hours. A reminder text names the company, the invoice, the balance, and a pay link when one exists. It includes “Reply STOP to opt out” and “Reply HELP for help.”

STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, and QUIT turn texts off for that number. HELP returns a short description and the STOP instruction. Texts go out from 8:00 a.m. through 7:59 p.m. in the customer’s timezone. Outside that window the text waits. Demo mode records the message and does not call Twilio.

Message frequency varies with the reminder tiers you leave on. Message and data rates may apply. You are responsible for having permission to text that number.