+#
+# 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_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_accounts {
+ my %accounts;
+
+ foreach my $chart (@{ SL::DB::Manager::Chart->get_all(where => [ link => { like => '%IC%' } ], sort_by => 'accno ASC') }) {
+ my %added;