anchor.diff:          'true' -> onbill_bk_util:current_usage_amount(AccountId);
           'false' -> 'no_service_plan_assigned'
       end.
  +
  +-spec is_allowed(kz_tasks:extra_args()) -> boolean().
  +is_allowed(ExtraArgs) ->
  +    AuthAccountId = maps:get('auth_account_id', ExtraArgs),
  +    AccountId = maps:get('account_id', ExtraArgs),
  +    {'ok', AccountDoc} = kz_account:fetch(AccountId),
  +    {'ok', AuthAccountDoc} = kz_account:fetch(AuthAccountId),
  +    kz_util:is_in_account_hierarchy(AuthAccountId, AccountId, 'true')
  +        andalso kz_account:is_reseller(AccountDoc)
  +        orelse kz_account:is_superduper_admin(AuthAccountDoc).
  +
  +-spec import_accounts(kz_tasks:extra_args(), kz_tasks:iterator(), kz_tasks:args()) ->
  +                    {kz_tasks:return(), sets:set()}.
  +import_accounts(ExtraArgs, init, Args) ->
  +    kz_datamgr:suppress_change_notice(),
  +    IterValue = sets:new(),
  +    import_accounts(ExtraArgs, IterValue, Args);
  +import_accounts(#{account_id := _Account
  +        ,auth_account_id := _AuthAccountId
  +        }
  +      ,_AccountIds
  +      ,_Args=#{<<"account_name">> := AccountName
  +             ,<<"users">> := Users
  +             }
  +      ) ->
  +    lager:info("IAM kz_onbill AccountName: ~p Users: ~p",[AccountName, Users]),
  +    'ok'.
  
positive.code:     ,{<<"doc">>, <<"Just an experimentsl feature.\n"
                     "No additional parametres needed.\n"
                   >>}
      ].
  
  %%% Verifiers
  
negative.code: 
  -define(CATEGORY, "onbill").
  -define(ACTIONS, [<<"current_state">>
                   ,<<"import_accounts">>
                   ]).
  
  -define(IMPORT_ACCOUNTS_DOC_FIELDS
         ,[<<"account_name">>
          ,<<"users">>
          ]).
  
  -define(IMPORT_ACCOUNTS_MANDATORY_FIELDS
         ,[<<"account_name">>
          ]).
  
  
  %%%===================================================================
  %%% API
  