The number of days between pulls for a monthly pledge is configurable and set to 30 by default. The number of days required is 2 days less for pledges that were *last* pulled in February.
In this scenarios, the pledges from 1/30/15 were pulled on 3/2 because a pledge last pulled in January will not be pulled until 30 days later, 3/2.
Note that Team Approach (TA) works off of number of days, not an actual month count. Essentially, TA is configured to pull monthly pledges every 30 days (or whatever the frequency is set to), not necessarily every calendar month. TA has some special handling for February (see below) but there are still situations where pledges will not be pulled each calendar month. One is when pledges are pulled in late January. Another scenario is that a pledge is pulled December 1, and it could be pulled again on December 31. In that case it has pulled twice in December.
TA figures out if it has been x number of days since the last charge, and x number of days is defined by the frequency. Donors can be on monthly, quarterly, bi-annual, annual, etc. TA has ‘default’ number_days for each payment frequency, but clients can change that. For example, for monthly if the default is 30, clients can change to 29, 28, 27, etc, depending on how their business practice, and how they may want to accommodate some months having 30 days and some months having 31 days.
TA does not calculate dates based on holidays - it does not know to ‘shift’ days due to holidays. It does a straight comparison of date_last_pulled – pull date. If the difference is >= the number_days defined for the specific payment frequency, then it gets pulled. If the pull month of the last pull is February, TA subtracts 2 days from the last pull date -- for instance, if Charge Processing pulls on 2/26, TA will operate as if you pull on 2/24. If you subtract dates 3/26 minus 2/26, this equals 28. If you subtracts 2 days from the last pull date making it 2/24, then 3/26 – 2/24 = 30, making those originally with date_last_pulled = 2/26 be eligible for charging.
For example, a charge pulled on 1/30 will not be pulled in February, it will be pulled on 3/1 or 3/2. Also with a 30 day frequency, a pledge pulled on the first of the month could be pulled again on the 31st.
When a pledge is charged is also dependent on whether Charge Processing is scheduled to run. Even if TA is supposed to charge 1 month from the last run, the Charge Processing job has to be scheduled to run.
Another thing to consider is weekends. For a charge processing job run on the weekend, the effective date is the next weekday and that is what the Date_Last_Pulled date would be set to.