     result = _.compact result
 
     if _.isEmpty result
-      return callback()
+      return callback account
 
     modifier =
       $set: {}


# @param callback(account)
exports.triggerBilling = (account, callback) ->
  modifier =
    $inc:
      'attribute.balance': 0

  async.each account.billing.plans, (plan_name, callback) ->
    plan_info = config.plans[plan_name]

    unless last_billing_at and next_billing_at > new Date()
      return callback()

    billing_unit_count = (Date.now() - last_billing_at.getTime()) / plan_info.billing_by_time.unit

    if is_force
      billing_unit_count = Math.ceil billing_unit_count
      new_last_billing_at = new Date()
    else
      billing_unit_count = Math.floor billing_unit_count
      new_last_billing_at = new Date last_billing_at.getTime() + billing_unit_count * plan_info.billing_by_time.unit

    amount = billing_unit_count * plan_info.billing_by_time.price

    callback null,
      name: plan_name
      billing_unit_count: billing_unit_count
      last_billing_at: new_last_billing_at
      amount_inc: -amount

