+#
+# initializers
+#
+
+sub init_defaults        { SL::DB::Default->get                                                                          }
+sub init_all_warehouses  { SL::DB::Manager::Warehouse->get_all_sorted                                                    }
+sub init_all_languages   { SL::DB::Manager::Language->get_all_sorted                                                     }
+sub init_all_currencies  { SL::DB::Manager::Currency->get_all_sorted                                                     }
+sub init_all_weightunits { my $unit = SL::DB::Manager::Unit->find_by(name => 'kg'); $unit ? $unit->convertible_units : [] }
+sub init_all_templates   { +{ SL::Template->available_templates }                                                        }
+sub init_h_unit_name     { first { SL::DB::Manager::Unit->find_by(name => $_) } qw(Std h Stunde)                         }
+sub init_all_project_types    { SL::DB::Manager::ProjectType->get_all_sorted                                             }
+sub init_all_project_statuses { SL::DB::Manager::ProjectStatus->get_all_sorted                                           }
+
+sub init_posting_options {
+  [ { title => t8("never"),           value => 0           },
+    { title => t8("every time"),      value => 1           },
+    { title => t8("on the same day"), value => 2           }, ]
+}
+
+sub init_payment_options {
+  [ { title => t8("never"),           value => 0           },
+    { title => t8("every time"),      value => 1           },
+    { title => t8("on the same day"), value => 2           }, ]
+}
+
+sub init_accounting_options {
+  [ { title => t8("Accrual"),         value => "accrual"   },
+    { title => t8("cash"),            value => "cash"      }, ]
+}
+
+sub init_inventory_options {
+  [ { title => t8("perpetual"),       value => "perpetual" },
+    { title => t8("periodic"),        value => "periodic"  }, ]
+}
+
+sub init_profit_options {
+  [ { title => t8("balance"),         value => "balance"   },
+    { title => t8("income"),          value => "income"    }, ]
+}
+
+sub init_balance_startdate_method_options {
+  [ { title => t8("After closed period"),                       value => "closed_to"                   },
+    { title => t8("Start of year"),                             value => "start_of_year"               },
+    { title => t8("All transactions"),                          value => "all_transactions"            },
+    { title => t8("Last opening balance or all transactions"),  value => "last_ob_or_all_transactions" },
+    { title => t8("Last opening balance or start of year"),     value => "last_ob_or_start_of_year"    }, ]
+}
+
+sub init_all_price_sources {
+  my @classes = SL::PriceSource::ALL->all_price_sources;
+
+  [ map { [ $_->name, $_->description ] } @classes ];
+}
+
+sub init_available_quick_search_modules {
+  [ SL::Controller::TopQuickSearch->new->available_modules ];
+}
+
+sub init_available_shipped_qty_item_identity_fields {
+  [ SL::Helper::ShippedQty->new->available_item_identity_fields ];
+}