anchor.diff:      ,{<<"month">>, Month}
       ,{<<"month_pad">>, kz_util:pad_month(Month)}
       ,{<<"year">>, Year}
  -    ]].
  +    ]];
  +aggregated_service_to_line(_, _, _, _) ->
  +    [].
  
positive.code:             RegexFrom = kz_json:get_value(<<"caller_number_regex">>, CarrierDoc, <<"^\\d*$">>),
              RegexTo = kz_json:get_value(<<"called_number_regex">>, CarrierDoc, <<"^\\d*$">>),
              {CallsTotalSec, CallsTotalSumm} = lists:foldl(fun(X, Acc) -> maybe_count_call(RegexFrom, RegexTo, X, Acc) end, {0,0}, JObjs),
              per_minute_to_line({<<"per-minute-voip">>
                                 ,<<"description">>
                                 ,wht_util:units_to_dollars(CallsTotalSumm)
                                 ,kz_util:to_integer(CallsTotalSec / 60)
  
negative.code:                               )
      end.
  
  maybe_count_call(RegexFrom, RegexTo, JObj, {ASec, AAmount}) ->
      case maybe_interesting_call(RegexFrom, RegexTo, JObj) of
          'true' ->
              {ASec + kz_json:get_integer_value([<<"value">>,<<"duration">>], JObj, 0)
               ,AAmount + kz_json:get_integer_value([<<"value">>,<<"cost">>], JObj, 0)
              };
          _ -> 
              {ASec ,AAmount}
      end.
  
  maybe_interesting_call(RegexFrom, RegexTo, JObj) ->
      From = kz_json:get_binary_value([<<"value">>,<<"from">>], JObj, <<>>),
      To = kz_json:get_binary_value([<<"value">>,<<"to">>], JObj, <<>>),
      case {re:run(From, RegexFrom), re:run(To, RegexTo)} of
          {{'match',_}, {'match',_}} -> 'true';
          _ -> 'false'
      end.
  
  process_one_time_fees(Modb) ->
      case kz_datamgr:get_results(Modb, <<"onbills/one_time_fees">>, []) of
  