Accounts payable buckets (Current,30,44,48,60)
I wrote methods for determining if the date falls within the desired range. This doesn't really solve the cluster of if else statements, but it is more readable. 

I also used a few built-in Python functions, filter and reduce. These are tailor-made for handling these kinds of boiler-plate tasks. 

I also changed if ref_date to if ref_date is None. Quoted from PEP 8


  beware of writing if x when you really mean if x is not None


Finally, I replaced your list initialization for totals to according to this SO question.

def _get_balances(self,ref_date=None):
    if ref_date is None:
        ref_date = datetime.date.today()
    totals = [Decimal('0.0')] * 5
    for invoice in self.invoices:
        if invoice.date is not None:
            payments = filter(lambda: payment.check.date &lt;= ref_date)
            total_amount_paid = reduce(lambda: total, payment: payment.amount + total, payments, 0)
            invoice_total = invoice.amount - total_amount_paid 
            if self.__invoice_date_is_before(invoice.date, ref, date, 29):
                totals[0] += invoice_total
            elif self.__invoice_date_is_between(invoice.date, ref_date, 30, 43):
                totals[1] += invoice_total
            elif iself.__invoice_date_is_between(invoice.date, ref_date, 44, 47):
                totals[2] += invoice_total
            elif self.__invoice_date_is_between(invoice.date, ref_date, 48, 59):
                totals[3] += invoice_total
            elif self.__invoice_date_is_after(invoice.date, ref_date, 60):
                totals[4] += invoice_total
    return tuple(totals)

def __invoice_date_is_between(self, invoice_date, ref_date, start_of_period, end_of_period):
    return invoice_date &lt;= ref_date - relativedelta(days=start_of_period) and \
                invoice_date &gt;= ref_date - relativedelta(days=end_of_period)

def __invoice_date_is_after(self, invoice_date, ref_date, end_of_period):
    return invoice_date &lt;= ref_date - relativedelta(days=end_of_period):

def __invoice_date_is_before(self, invoice_date, ref_date, start_of_period):
    return invoice_date &gt;= ref_date - relativedelta(days=start_of_period)