anchor.diff:  		ProductName, Characteristics, Now, [#price{type = usage,
   		alteration = #alteration{type = recurring,
   		period = Period, units = Units, size = Size,
  -		amount = Amount}} | T]) when Units == octets; Units == seconds ->
  +		amount = Amount}} | T]) when Period /= undefined,
  +		Units == octets; Units == seconds ->
   	NewBuckets = charge(Amount, [#bucket{units = Units,
   			remain_amount = Size,
   			termination_date = end_period(Now, Period)} | Buckets]),
  
positive.code: 
  -spec end_period(StartTime, Period) -> EndTime
  	when
  		StartTime :: pos_integer(),
  		Period :: hourly | daily | weekly | monthly | yearly,
  		EndTime :: pos_integer().
  %% @doc Calculate end of period.
  end_period(StartTime, Period) when is_integer(StartTime) ->
  	end_period(date(StartTime), Period);
  
negative.code: 		ProductName, Characteristics, Now,
  		[#price{type = recurring, period = Period,
  		alteration = #alteration{units = Units, size = Size,
  		amount = Amount}} | T]) when Period /= undefined,
  		Units == octets; Units == seconds ->
  	NewBuckets = charge(Amount, [#bucket{units = Units,
  			remain_amount = Size,
  			termination_date = end_period(Now, Period)} | Buckets]),
  