Why does a member's subscription still show as expiring in the past, even though they have paid?

When a member renews a subscription, at the time the order status is updated to Payment Received, the subscription end date is extended.  In the case of an annual subscription, it is extended by one year.  For a monthly subscription, it is extended by one month.  For a fixed period subscription, it is extended by the number of days of the period.

That extension of the end date, happens regardless of when the order is placed.  The member might place an order before, or after, the end date of the subscription. 

In theory it shouldn't happen, but it's possible for a member to skip a period, e.g. they buy an annual subscription in Year 1, fail to renew for Year 2, and then come back and renew in Year 3.  When they renew in Year 3, the end date of the subscription will be extended, but only to the end of Year 2.  So their subscription end date will be a date in the past, even though they have just renewed.

Can't the system pick up this issue and fix it automatically?

We know that it happens occasionally, but it's a tough one to try to create automatic rules to deal with it.  For the system to make an autocratic decision to extend the subscription for two periods, even though they only paid for one, would not be right.  That should be a decision that the organisation administrator makes, based on their knowledge of the member/situation.

What we do plan to do, is to create a mechanism for flagging these subscriptions in some way, to alert the administrator that it's one that needs to be manually reviewed.

What do I do if this situation occurs?

If you want to allow the member to pay for this period's subscription, without paying for the previous period, you can change the end date of the subscription to reflect this.

From admin home, go to the member's page in the administration panel.  Scroll down to the subscriptions section.  Click on edit in the right hand column for that subscription.  That takes you to the page for that subscription.  There you can change the end date.  Note:  If the subscription product is a fixed end date product, make sure that you select a date that is the last day of the period.