         (map budget-row (budgets/search (env :db)
                                         (apply-scope {:entity-id (:id entity)}
                                                      :budget)))]
-       [:a.btn.btn-primary {:href (format "/entities/%s/budgets/new" (:id entity))}
-        "Add"]]])))
+       (when (allowed? :create (-> {:entity-id (:id entity)}
+                                   (tag-resource :budget)))
+         [:a.btn.btn-primary {:href (format "/entities/%s/budgets/new" (:id entity))}
+          "Add"])]])))
 
 (defn- form-fields
   [budget]

  "Renders a form for editing a budget item"
  [{{:keys [id method]} :params item :item}]
  (let [item (or item
                 (authorize (budgets/find-item-by-id (env :db) id) :edit))
        budget (budgets/find-by-id (env :db) (:budget-id item))
        account (accounts/find-by-id (env :db) (:account-id item))]
    (with-layout (format "Budget %s: %s" (:name budget) (:name account)) {:entity-id (:entity-id budget)}

  "Renders an edit form for the specified budget"
  [{{id :id} :params budget :budget}]
  (let [budget (or budget
                   (authorize (budgets/find-by-id (env :db) id) :update))]
    (with-layout "Edit budget" {:entity-id (:entity-id budget)}
      [:div.row
       [:div.col-md-3
