Skip into the price book
MarkupYard

Service prices, explained

Maintenance billing dates: 5 mistakes to check first

Price book software

MarkupYard Editorial Team · Published · 11 min read

Documentation checked

Local AI writing, source-linked claims and one fact check by a model from another AI company. No person writes, edits or reviews these posts.

Before saving renewal settings, check that spreadsheet dates are entered with the DATE function or as formula results, as Microsoft recommends.

Key takeaways

  • Enter usable spreadsheet dates: Use the DATE function or formula results for billing calculations, as Microsoft documents for the WorksheetFunction.Days360 method (Excel).
  • Check date endpoint order: Verify that start dates precede end dates, because Microsoft notes that Days360 returns a negative number if the start date occurs after the end date.
  • Check month end conversion: Account for the fact that Microsoft states starting and ending dates on the 31st become equal to the 30th of the same month.
  • Trace the later anchor: Distinguish the initial period from the recurring anchor, noting that Stripe explains a two-month interval from February results in a billing cycle anchor on August 31.
  • Identify renewal task triggers: Confirm how your platform handles renewals, as WooCommerce states the renewal method determines the order of tasks and what triggers them.

Maintenance billing date mistakes: what to check before saving

Five date errors stand out before you save renewal settings. First, text date entries can cause spreadsheet calculation problems. Second, reversed date ranges can produce negative results in day-count functions. Third, month-end assumptions ignore how date functions convert the thirty-first to the thirtieth. Fourth, initial period assumptions blur the first prorated period with the recurring anchor. Fifth, assumptions about renewal method overlook how it determines task order and triggers, as WooCommerce documents.

Start with the spreadsheet. If dates appear as text, Microsoft recommends entering them with the DATE function or a formula result. Reversed endpoints in a range flip the sign of the calculation. When a month ends on the thirty-first, the function may treat it as the thirtieth for day counts. The first billing period often differs from the recurring cadence that aligns future invoices. Finally, the renewal method dictates whether triggers are manual or automatic, which shapes the billing calendar.

Check these five items in order. Verify date entry methods first. Then confirm range direction. Next, review month-end conversion behavior. After that, separate the initial period from the recurring cadence. Lastly, confirm the renewal method matches the intended billing triggers.

For related billing settings, see Recurring work order settings: 8 rules to set .

Fix text dates and reversed spreadsheet ranges

Before you save renewal settings, verify that every date in your spreadsheet is a true serial number, not a text string. Microsoft Excel stores dates as sequential serial numbers so they can be used in calculations, according to Microsoft . The WorksheetFunction.YearFrac method documentation notes that problems can occur if dates are entered as text. This error type is the first mistake to check.

When a date is invalid, the error becomes visible. The WorksheetFunction.YearFrac method returns the #VALUE! error value if start_date or end_date are not valid dates, as documented by Microsoft . Do not ignore the error; check whether the date argument is invalid. Replace the text entry with a formula that returns a serial number, such as the DATE function, to fix the underlying data type.

The second mistake involves the order of your date endpoints. If you calculate a billing period by subtracting a start date from an end date, the order matters. The WorksheetFunction.Days360 method returns a negative number if start_date occurs after end_date, according to Microsoft . A negative day count in a billing calculation is a clear sign that the dates are reversed. Check your formulas to ensure the earlier date is the first argument and the later date is the second. If you see a negative number in your days-billed column, confirm the intended dates and formula direction before changing any arguments.

To fix these issues, take the following steps: * Select the date column and check each cell's underlying value and type. * Use a formula to convert text dates to serial numbers. * Review any #VALUE! errors and correct the invalid date entries. * Check for negative day counts and reverse the start and end dates only if they were entered in the wrong order.

Checking these data type and order issues before billing calculations run helps catch input errors.

Check month ends before assuming a full billing month

When calculating days between dates in Excel, the WorksheetFunction.Days360 method treats the 31st of any month as the 30th of that same month Microsoft . This conversion applies to both starting and ending dates within the function's logic. Because of this specific rule, a billing period that begins or ends on the 31st will not count the full calendar month as thirty-one days. Instead, the calculation aligns the date to the 30th, which changes the total day count for that interval.

This behavior can lead to unexpected values when you use the Days360 function to calculate the number of days between two dates Microsoft . If your maintenance agreement relies on actual day counts for prorated billing, Days360's adjusted counts can differ from calendar days. The function does not simply subtract one date from another; it applies this month-end adjustment first. Consequently, a period from January 31 to February 28 is not calculated based on the actual number of days in those months, but on the adjusted values defined by the method.

To avoid billing discrepancies, verify which dates in your spreadsheet fall on the 31st. If a renewal date or a service period endpoint is the 31st, the Days360 calculation will treat it as the 30th. This distinction matters when you are determining the length of a billing cycle or the number of days covered by a specific invoice. Do not assume that a month with thirty-one days contributes thirty-one days to the calculation. The effect on the total depends on which endpoints fall on the 31st.

Separate the initial period from the recurring cadence

The billing cycle anchor is the reference point that aligns future billing period dates, according to Stripe . This anchor is distinct from the first billing period, which often differs in length from subsequent cycles. To avoid confusing the start date with the recurring schedule, trace how the interval interacts with the calendar.

For example, assume that you create a two-month interval subscription in February and you cycle it at the end of every month by setting day_of_month to 31, as described in Stripe . The next month that has 31 days on two-month intervals from February is August, which results in a billing cycle anchor on August 31. There’s an initial, prorated period from subscription creation until February 28 (or 29 during a leap year), followed by a full two-month billing period. This initial period is separate from the recurring cadence established by the anchor.

When setting renewal settings, record the initial prorated period and the recurring anchor date as separate data points. Do not assume the first billing period matches the length of the recurring periods. The anchor date determines when future billing periods begin and end, while the initial period covers the gap between creation and the first full cycle. By separating these two elements, you can accurately predict when each recurring invoice will be issued without conflating the initial partial charge with the standard recurring amount.

If you are configuring recurring intervals in other tools, see Recurring work order settings: 8 rules to set for additional context on interval definitions.

Check renewal triggers and the customer's payment cutoff

Renewal settings do more than pick a date; they define the sequence of tasks and the events that start them. In the Subscription Renewal Process Documentation, WooCommerce states that the renewal method determines the order of these tasks and what triggers them. If your store activates both manual and automatic renewals, the documentation notes it is helpful to understand how each type is processed and how customers experience them differently. Before saving your settings, identify which method applies to a specific agreement, as the trigger logic varies by type. For related checks, see Field service settings to verify: 8 job checks .

Payment cutoffs are account-specific and should not be generalized across all service contracts. The PAYPAL USER AGREEMENT specifies that if you have a personal account, you may cancel a recurring automatic payment 3 Business Days or more before the date of the next scheduled payment. This cancellation can be done from your account settings, by contacting the PayPal Help Center, or by calling PayPal at (888) 221-1161. Label this rule as a customer payment instruction for personal accounts, not a universal maintenance-contract cancellation deadline. Do not apply this three-day window to business accounts or other payment providers without verifying their specific terms.

When setting up a new maintenance agreement, record the billing interval separately from the calendar date. Square defines cadence as identifying the billing interval, such as WEEKLY or MONTHLY. Keeping the interval distinct from the calculated date prevents confusion when reviewing the schedule. Verify that your renewal method matches the customer’s payment capabilities and your internal task triggers before finalizing the schedule.

Billing date reference table by publisher

The table below summarizes the documented date behaviors for each publisher. Use it to verify which specific rule applies to your maintenance agreement before saving renewal settings.

Publisher Documented Date Behavior Source Page Title
Microsoft Dates should be entered by using the DATE function, or as results of other formulas or functions. WorksheetFunction.Days360 method (Excel)
Stripe The next month that has 31 days on two-month intervals from February is August, which results in a billing cycle anchor on August 31. Set the subscription billing renewal date
Square Cadence - Identifies the billing interval, such as WEEKLY or MONTHLY. Subscription Plans and Variations
PayPal If you have a personal account, you may cancel a recurring automatic payment 3 Business Days or more before the date of the next scheduled payment. PAYPAL USER AGREEMENT
WooCommerce The renewal method determines the order of these tasks and what triggers them and how Subscriptions performs them. Subscription Renewal Process Documentation

Today, take one maintenance agreement and compare its spreadsheet dates, recurring interval, initial billing period and renewal method with the documented behavior of the tools you use.

FAQ: Maintenance renewal date errors

What maintenance billing date mistakes should I check first?

Check that spreadsheet dates are entered using the DATE function or returned by other formulas before using them in billing calculations. Microsoft documents that dates should be entered by using the DATE function, or as results of other formulas or functions. Verify that start dates do not occur after end dates, as reversed endpoints produce negative results. Confirm that dates on the 31st are handled correctly, since month-end conversion rules may alter the day count. Distinguish the initial prorated period from the recurring billing anchor to ensure future cycles align correctly. Finally, identify the renewal method to understand the specific task order and triggers for the agreement.

How does Days360 handle dates on the thirty-first?

Starting and ending dates that occur on the 31st of a month become equal to the 30th of the same month. Microsoft specifies this conversion behavior for the WorksheetFunction.Days360 method. This adjustment affects the total day count calculated between two dates. If your billing calculation relies on a full thirty-one-day month, the result will differ from the standard calendar expectation. Use this documented behavior to verify your day-count totals before finalizing renewal invoices.

Can a two-month Stripe subscription created in February have an August billing anchor?

Yes, the next month that has 31 days on two-month intervals from February is August, which results in a billing cycle anchor on August 31. Stripe explains this specific alignment for subscriptions starting in February. The anchor date aligns future billing periods to this established date. The initial period may be prorated differently from the recurring cycles that follow. Confirm whether your specific subscription configuration uses this anchor logic before assuming a standard monthly cadence.

Does PayPal's three Business Day cancellation instruction apply to a personal-account customer?

If you have a personal account, you may cancel a recurring automatic payment 3 Business Days or more before the date of the next scheduled payment. PayPal outlines this instruction in the PayPal User Agreement. This rule applies specifically to personal accounts cancelling recurring automatic payments. It does not set a universal maintenance-contract cancellation rule for every service business. Verify the account type and payment method before applying this deadline to a customer's billing schedule.