Glossary

QuickBooks Payment Terms

Payment terms in QuickBooks are named records on the Terms list, each holding a rule for when payment is due, and selecting one on an invoice is what produces that invoice’s due date.

Also called: terms, net 30, due on receipt, invoice terms, sales terms

Definition

Payment terms look like a label and behave like a formula.

In QuickBooks, a term is not text on an invoice and not a date field. It is a record on the Terms list with a name, like Net 30 or Due on receipt, and a rule underneath it. Selecting that record on an invoice is what computes the due date. Nobody types the due date, and that is the whole point of the feature: one decision, made once, applied to every invoice that carries the term.

The rule comes in two shapes. A term can make payment due a fixed number of days after the invoice date, which is what Net 30 means. Or it can make payment due on a set day of the month, which is how businesses that bill continuously and collect on the 10th describe themselves. Either shape can carry an early-payment discount alongside it.

Stripe has no equivalent record. It has dates and intervals, held on individual invoices and subscriptions, and only under one collection method. So a Stripe business that starts invoicing acquires a due date long before it acquires anything that QuickBooks would recognise as a term, and the gap between those two ideas is where the confusion in this page lives.

Key points

  • +A term is a record on the QuickBooks Terms list, not a date typed on an invoice.
  • +Selecting the term is what computes the due date, so the term is the input and the due date is the output.
  • +Terms come in two shapes: due a fixed number of days after the invoice date, or due on a set day of the month.
  • +Due on receipt is the fixed-days shape with the days set to zero.
  • +Intuit’s own fix for a mismatched due date ends with reselecting the term on the invoice, which tells you the term is applied at selection rather than linked.
  • +Stripe has no terms record. It has due_date on an invoice and days_until_due on an invoice or a subscription.
  • +Both Stripe fields exist only under collection_method send_invoice. Automatically charged invoices carry no due date at all.
  • +Acodei’s documented use of the Stripe due date is as the QuickBooks invoice date, under an admin toggle. Nothing documents it setting a QuickBooks term.

The term is the input, the due date is the output

This ordering is the thing most people have backwards, and one Intuit support article gives it away completely.

The article addresses a specific complaint: you set an invoice to due on receipt, and the due date does not match the invoice date. Intuit’s wording is "If you use the due on receipt payment terms on your invoices, but the invoice date doesn’t match the due date, you can fix it in the settings." The fix is not on the invoice. It is to open the Terms list, find the term, and set its due-in-fixed-number-of-days value to zero.

That tells you two useful things at once. First, due on receipt is not a special mode; it is the ordinary fixed-days rule with the days set to zero, and a term named Due on receipt that was set up with thirty days in it will cheerfully date invoices thirty days out. The name carries no meaning. The number does.

Second, and more consequential, is what Intuit says has to happen after the fix: "You need to reselect the term on the invoice for the correction to apply." Read that as a statement about the data model. When you pick a term, QuickBooks computes a due date and writes it onto the invoice. It does not hold a live link back to the term. Correcting the term today does nothing to the invoices you wrote yesterday, and if a term was set up wrong six months ago, every invoice that used it is still wrong and will stay wrong until someone reopens each one.

Stripe holds a date or an interval, never a term

On the Stripe side there is no list to pick from, and the fields that do the equivalent job are narrower than they look.

An invoice carries due_date, which Stripe documents as "The date on which payment for this invoice is due", with a caveat attached to it: "This value will be null for invoices where collection_method=charge_automatically." So the absolute date exists only on invoices you send and wait to be paid.

The interval version is days_until_due, and it appears in two places. On invoice creation Stripe describes it as "The number of days from when the invoice is created until it is due", and states that it is "Valid only for invoices where collection_method=send_invoice". On a subscription it is "Number of days a customer has to pay invoices generated by this subscription", again null for subscriptions set to charge automatically.

That subscription field is the closest thing Stripe has to a term: a rule, held once, applied to every invoice the subscription generates. It is still not a named record, it carries no discount, and it cannot express the day-of-month shape at all. A business that bills on Net 30 can say so in Stripe. A business that collects on the 10th of the month cannot, and has to compute each due date itself.

The practical consequence for anyone reconciling the two systems is that the question "what are this customer’s terms" has a different kind of answer on each side. In QuickBooks it is a record you can look up. In Stripe it is a number sitting on each subscription, or an absolute date sitting on each invoice, or nothing at all, and which of those you get depends on the collection method. What that collection method changes, and why a whole class of invoice has no due date at all, is covered in the write-up on automatic collection.

Why a wrong term is quieter than a wrong amount

An invoice with the wrong amount gets noticed, usually by the customer. An invoice with the wrong due date does not.

It looks completely normal. It has a number, a customer, the right total, and a date in the future. Nothing about it is flagged, nothing fails validation, and no report refuses to run. The only place the error surfaces is the aging report, where the invoice sits in a bucket it does not belong in, and by the time somebody notices the bucket is wrong the invoice is usually old enough that the conversation with the customer has already happened.

This is why terms are worth setting up deliberately rather than accepting whatever arrived with the file. A term applied to a customer becomes the default for their invoices, and a default that nobody checked will quietly shape a receivables report that people make collection decisions from.

The discount half of a term deserves the same care for a different reason. A term that offers a percentage off for early payment does not enforce anything. It communicates an offer and records a discount date. What the customer actually pays, and what you then have to do with the shortfall, is a separate transaction that no term will write for you.

What Acodei does with a Stripe due date

Start with what is documented, because it is narrower than the question.

Invoice Sync creates a QuickBooks Invoice when a Stripe invoice is finalized, reproducing every line item and the tax lines as the mapping settings allow. That is the documented scope of what the QuickBooks invoice carries.

The Stripe due date does appear in Acodei’s documentation, in exactly one place. An admin toggle, Use Due Date as Invoice Date, dates the QuickBooks invoice on the Stripe due date. It is mutually exclusive with the supply-date toggle, and the admin interface disables one while the other is checked. Read what that toggle actually does: it changes which date the invoice is dated, not which term it carries. It is a dating option, sitting alongside the supply-date and effective_at options, rather than a terms feature.

What is not documented is the part people expect. Nothing in Acodei’s product documentation describes setting a QuickBooks Terms record on a synced invoice, or deriving a QuickBooks due date from a Stripe due date, so this page will not tell you which date wins. Treat terms as something your QuickBooks file decides, not something the Stripe invoice brings with it, and confirm on your own first synced invoice rather than assuming either way.

There is one setup consequence worth acting on. Because a term is applied at selection and then frozen onto the invoice, anything that arrives already written is not going to pick up a term later. If terms matter to how you age and chase receivables, the time to get the Terms list right is before the first sync, not after a quarter of invoices already carry a due date somebody has to explain.

Want to see this on your own Stripe data?

Start a free trial

Frequently asked questions

What are payment terms in QuickBooks?

They are records on the Terms list, each with a name and a rule for when payment is due. Selecting one on an invoice is what computes that invoice’s due date. A term can make payment due a fixed number of days after the invoice date, or due on a set day of the month, and either shape can carry an early-payment discount.

Why does my due on receipt invoice have a due date in the future?

Because the term itself is configured with days on it. Intuit’s fix is to open the Terms list, find the term, and set its due-in-fixed-number-of-days value to zero. Due on receipt is not a special mode, it is the ordinary fixed-days rule with zero days, so a term with that name can still be dating your invoices weeks out.

If I fix a term, do existing invoices update?

No. Intuit is explicit that you need to reselect the term on the invoice for the correction to apply, which means the due date was computed and written when the term was chosen rather than linked to it. Invoices written under a wrong term keep their wrong due dates until someone reopens each one.

Does Stripe have payment terms?

Not as a record. Stripe has due_date on an invoice, which it documents as the date payment is due, and days_until_due on an invoice or a subscription, which is the number of days a customer has to pay. Both exist only under collection_method send_invoice, and both are null for anything charged automatically.

Do Stripe due dates become QuickBooks terms when an invoice syncs?

Nothing in Acodei’s product documentation describes setting a QuickBooks Terms record on a synced invoice or deriving a QuickBooks due date from a Stripe due date, so do not assume it happens. The documented scope of the QuickBooks invoice is the line items and tax lines as your mapping settings allow.

What does the Use Due Date as Invoice Date setting actually do?

It dates the QuickBooks invoice on the Stripe due date. It is an admin toggle, it is mutually exclusive with the supply-date option, and the admin interface disables one while the other is checked. It changes which date the invoice is dated, not which term the invoice carries.

Why do my automatically charged Stripe invoices have no terms at all?

Because they have no due date to build one from. Stripe sets due_date to null for invoices where collection_method is charge_automatically, and the equivalent subscription field is null for the same reason. Nobody is waiting on a payment, so there is nothing for a term to express.

Can Stripe express terms that are due on a set day of the month?

Not directly. Stripe’s days_until_due is an interval counted from invoice creation, so it can express Net 30 but not due on the 10th. A business that collects on a fixed day of the month has to compute each invoice’s due date itself and set it as an absolute due_date.

What customers say about running Stripe through Acodei

Stripe Verified Partner BadgeQuickBooks Intuit Badge
If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.
RyanOwner at Indie Music Academy
Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.
AndresCo-founder and CEO at Kanguro Collections and Reinsurance

Ready to try Acodei?

Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.