Rename bills to subscriptions

This commit is contained in:
James Cole
2024-12-26 13:41:57 +01:00
parent 286a29ca3e
commit 291e73da4b
26 changed files with 161 additions and 154 deletions

View File

@@ -164,7 +164,7 @@ class BillController extends Controller
$currencyId = $bill->transaction_currency_id;
$amountMin = $bill->amount_min;
$amountMax = $bill->amount_max;
if($this->convertToNative) {
if($this->convertToNative && $currencyId !== $this->defaultCurrency->id) {
$amountMin = $bill->native_amount_min;
$amountMax = $bill->native_amount_max;
}
@@ -178,7 +178,7 @@ class BillController extends Controller
$chartData[2]['entries'][$date] = '0';
}
$amount = bcmul($journal['amount'], '-1');
if($this->convertToNative) {
if($this->convertToNative && $currencyId !== $journal['currency_id']) {
$amount = bcmul($journal['native_amount'], '-1');
}
if($this->convertToNative && $currencyId === $journal['foreign_currency_id']) {

View File

@@ -268,7 +268,7 @@ class BillRepository implements BillRepositoryInterface
'currency_decimal_places' => $currency->decimal_places,
];
$result[$currencyId]['sum'] = bcadd($result[$currencyId]['sum'], $transaction->amount);
$result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->native_amount);
$result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->native_amount ?? '0');
if ($journal->foreign_currency_id === Amount::getDefaultCurrency()->id) {
$result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->amount);
}
@@ -394,7 +394,7 @@ class BillRepository implements BillRepositoryInterface
'currency_decimal_places' => $currency->decimal_places,
];
$result[$currencyId]['sum'] = bcadd($result[$currencyId]['sum'], $transaction->amount);
$result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->native_amount);
$result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->native_amount ?? '0');
if ($journal->foreign_currency_id === Amount::getDefaultCurrency()->id) {
$result[$currencyId]['native_sum'] = bcadd($result[$currencyId]['native_sum'], $transaction->amount);
}

View File

@@ -44,10 +44,10 @@ return [
'accounts' => 'Accounts',
'changePassword' => 'Change your password',
'change_email' => 'Change your email address',
'bills' => 'Bills',
'newBill' => 'New bill',
'edit_bill' => 'Edit bill ":name"',
'delete_bill' => 'Delete bill ":name"',
'bills' => 'Subscriptions',
'newBill' => 'New subscription',
'edit_bill' => 'Edit subscription ":name"',
'delete_bill' => 'Delete subscription ":name"',
'reports' => 'Reports',
'search_result' => 'Search results for ":query"',
'withdrawal_list' => 'Expenses',

View File

@@ -139,14 +139,14 @@ return [
'new_journals_header' => 'Firefly III has created a transaction for you. You can find it in your Firefly III installation:|Firefly III has created :count transactions for you. You can find them in your Firefly III installation:',
// bill warning
'bill_warning_subject_end_date' => 'Your bill ":name" is due to end in :diff days',
'bill_warning_subject_now_end_date' => 'Your bill ":name" is due to end TODAY',
'bill_warning_subject_extension_date' => 'Your bill ":name" is due to be extended or cancelled in :diff days',
'bill_warning_subject_now_extension_date' => 'Your bill ":name" is due to be extended or cancelled TODAY',
'bill_warning_end_date' => 'Your bill **":name"** is due to end on :date. This moment will pass in about **:diff days**.',
'bill_warning_extension_date' => 'Your bill **":name"** is due to be extended or cancelled on :date. This moment will pass in about **:diff days**.',
'bill_warning_end_date_zero' => 'Your bill **":name"** is due to end on :date. This moment will pass **TODAY!**',
'bill_warning_extension_date_zero' => 'Your bill **":name"** is due to be extended or cancelled on :date. This moment will pass **TODAY!**',
'bill_warning_subject_end_date' => 'Your subscription ":name" is due to end in :diff days',
'bill_warning_subject_now_end_date' => 'Your subscription ":name" is due to end TODAY',
'bill_warning_subject_extension_date' => 'Your subscription ":name" is due to be extended or cancelled in :diff days',
'bill_warning_subject_now_extension_date' => 'Your subscription ":name" is due to be extended or cancelled TODAY',
'bill_warning_end_date' => 'Your subscription **":name"** is due to end on :date. This moment will pass in about **:diff days**.',
'bill_warning_extension_date' => 'Your subscription **":name"** is due to be extended or cancelled on :date. This moment will pass in about **:diff days**.',
'bill_warning_end_date_zero' => 'Your subscription **":name"** is due to end on :date. This moment will pass **TODAY!**',
'bill_warning_extension_date_zero' => 'Your subscription **":name"** is due to be extended or cancelled on :date. This moment will pass **TODAY!**',
'bill_warning_please_action' => 'Please take the appropriate action.',
// user has enabled MFA

View File

@@ -68,13 +68,13 @@ return [
'create_new_transaction' => 'Create a new transaction',
'sidebar_frontpage_create' => 'Create',
'new_transaction' => 'New transaction',
'no_rules_for_bill' => 'This bill has no rules associated to it.',
'no_rules_for_bill' => 'This subscription has no rules associated to it.',
'go_to_asset_accounts' => 'View your asset accounts',
'go_to_budgets' => 'Go to your budgets',
'go_to_withdrawals' => 'Go to your withdrawals',
'clones_journal_x' => 'This transaction is a clone of ":description" (#:id)',
'go_to_categories' => 'Go to your categories',
'go_to_bills' => 'Go to your bills',
'go_to_bills' => 'Go to your subscriptions',
'go_to_expense_accounts' => 'See your expense accounts',
'go_to_revenue_accounts' => 'See your revenue accounts',
'go_to_piggies' => 'Go to your piggy banks',
@@ -86,7 +86,7 @@ return [
'new_revenue_account' => 'New revenue account',
'new_liabilities_account' => 'New liability',
'new_budget' => 'New budget',
'new_bill' => 'New bill',
'new_bill' => 'New subscription',
'block_account_logout' => 'You have been logged out. Blocked accounts cannot use this site. Did you register with a valid email address?',
'flash_success' => 'Success!',
'flash_info' => 'Message',
@@ -117,7 +117,7 @@ return [
'registered' => 'You have registered successfully!',
'Default asset account' => 'Default asset account',
'no_budget_pointer' => 'You seem to have no budgets yet. You should create some on the <a href="budgets">budgets</a>-page. Budgets can help you keep track of expenses.',
'no_bill_pointer' => 'You seem to have no bills yet. You should create some on the <a href="bills">bills</a>-page. Bills can help you keep track of expenses.',
'no_bill_pointer' => 'You seem to have no subscription yet. You should create some on the <a href="subscriptions">subscription</a>-page. Subscriptions can help you keep track of expenses.',
'Savings account' => 'Savings account',
'Credit card' => 'Credit card',
'source_accounts' => 'Source account|Source accounts',
@@ -216,17 +216,17 @@ return [
'no_att_demo_user' => 'The demo user can\'t upload attachments.',
'button_register' => 'Register',
'authorization' => 'Authorization',
'active_bills_only' => 'active bills only',
'active_bills_only_total' => 'all active bills',
'active_exp_bills_only' => 'active and expected bills only',
'active_exp_bills_only_total' => 'all active expected bills only',
'active_bills_only' => 'active subscription only',
'active_bills_only_total' => 'all active subscription',
'active_exp_bills_only' => 'active and expected subscription only',
'active_exp_bills_only_total' => 'all active expected subscription only',
'per_period_sum_1D' => 'Expected daily costs',
'per_period_sum_1W' => 'Expected weekly costs',
'per_period_sum_1M' => 'Expected monthly costs',
'per_period_sum_3M' => 'Expected quarterly costs',
'per_period_sum_6M' => 'Expected half-yearly costs',
'per_period_sum_1Y' => 'Expected yearly costs',
'average_per_bill' => 'average per bill',
'average_per_bill' => 'average per subscription',
'expected_total' => 'expected total',
'reconciliation_account_name' => ':name reconciliation (:currency)',
'saved' => 'Saved',
@@ -377,10 +377,10 @@ return [
'search_modifier_not_has_any_budget' => 'The transaction must have no budget',
'search_modifier_has_any_budget' => 'The transaction must have a (any) budget',
'search_modifier_not_has_no_budget' => 'The transaction must have a (any) budget',
'search_modifier_has_no_bill' => 'The transaction must have no bill',
'search_modifier_not_has_no_bill' => 'The transaction must have a (any) bill',
'search_modifier_has_any_bill' => 'The transaction must have a (any) bill',
'search_modifier_not_has_any_bill' => 'The transaction must have no bill',
'search_modifier_has_no_bill' => 'The transaction must have no subscription',
'search_modifier_not_has_no_bill' => 'The transaction must have a (any) subscription',
'search_modifier_has_any_bill' => 'The transaction must have a (any) subscription',
'search_modifier_not_has_any_bill' => 'The transaction must have no subscription',
'search_modifier_has_no_tag' => 'The transaction must have no tags',
'search_modifier_not_has_any_tag' => 'The transaction must have no tags',
'search_modifier_not_has_no_tag' => 'The transaction must have a (any) tag',
@@ -449,8 +449,8 @@ return [
'search_modifier_not_category_is' => 'Category is not ":value"',
'search_modifier_budget_is' => 'Budget is ":value"',
'search_modifier_not_budget_is' => 'Budget is not ":value"',
'search_modifier_bill_is' => 'Bill is ":value"',
'search_modifier_not_bill_is' => 'Bill is not ":value"',
'search_modifier_bill_is' => 'Subscription is ":value"',
'search_modifier_not_bill_is' => 'Subscription is not ":value"',
'search_modifier_transaction_type' => 'Transaction type is ":value"',
'search_modifier_not_transaction_type' => 'Transaction type is not ":value"',
'search_modifier_tag_is' => 'Tag is ":value"',
@@ -503,12 +503,12 @@ return [
'search_modifier_not_budget_ends' => 'Budget does not end on ":value"',
'search_modifier_budget_starts' => 'Budget starts with ":value"',
'search_modifier_not_budget_starts' => 'Budget does not start with ":value"',
'search_modifier_bill_contains' => 'Bill contains ":value"',
'search_modifier_not_bill_contains' => 'Bill does not contain ":value"',
'search_modifier_bill_ends' => 'Bill ends with ":value"',
'search_modifier_not_bill_ends' => 'Bill does not end on ":value"',
'search_modifier_bill_starts' => 'Bill starts with ":value"',
'search_modifier_not_bill_starts' => 'Bill does not start with ":value"',
'search_modifier_bill_contains' => 'Subscription contains ":value"',
'search_modifier_not_bill_contains' => 'Subscription does not contain ":value"',
'search_modifier_bill_ends' => 'Subscription ends with ":value"',
'search_modifier_not_bill_ends' => 'Subscription does not end on ":value"',
'search_modifier_bill_starts' => 'Subscription starts with ":value"',
'search_modifier_not_bill_starts' => 'Subscription does not start with ":value"',
'search_modifier_external_id_contains' => 'External ID contains ":value"',
'search_modifier_not_external_id_contains' => 'External ID does not contain ":value"',
'search_modifier_external_id_ends' => 'External ID ends with ":value"',
@@ -780,7 +780,7 @@ return [
'save_rules_by_moving' => 'Save this rule by moving it to another rule group:|Save these rules by moving them to another rule group:',
'make_new_rule' => 'Make a new rule in rule group ":title"',
'make_new_rule_no_group' => 'Make a new rule',
'instructions_rule_from_bill' => 'In order to match transactions to your new bill ":name", Firefly III can create a rule that will automatically be checked against any transactions you store. Please verify the details below and store the rule to have Firefly III automatically match transactions to your new bill.',
'instructions_rule_from_bill' => 'In order to match transactions to your new subscription ":name", Firefly III can create a rule that will automatically be checked against any transactions you store. Please verify the details below and store the rule to have Firefly III automatically match transactions to your new bill.',
'instructions_rule_from_journal' => 'Create a rule based on one of your transactions. Complement or submit the form below.',
'rule_is_strict' => 'strict rule',
'rule_is_not_strict' => 'non-strict rule',
@@ -920,10 +920,10 @@ return [
'rule_trigger_has_no_budget' => 'Transaction has no budget',
'rule_trigger_has_any_budget_choice' => 'Has a (any) budget',
'rule_trigger_has_any_budget' => 'Transaction has a (any) budget',
'rule_trigger_has_no_bill_choice' => 'Has no bill',
'rule_trigger_has_no_bill' => 'Transaction has no bill',
'rule_trigger_has_any_bill_choice' => 'Has a (any) bill',
'rule_trigger_has_any_bill' => 'Transaction has a (any) bill',
'rule_trigger_has_no_bill_choice' => 'Has no subscription',
'rule_trigger_has_no_bill' => 'Transaction has no subscription',
'rule_trigger_has_any_bill_choice' => 'Has a (any) subscription',
'rule_trigger_has_any_bill' => 'Transaction has a (any) subscription',
'rule_trigger_has_no_tag_choice' => 'Has no tag(s)',
'rule_trigger_has_no_tag' => 'Transaction has no tag(s)',
'rule_trigger_has_any_tag_choice' => 'Has one or more (any) tags',
@@ -940,8 +940,8 @@ return [
'rule_trigger_notes_starts' => 'Notes start with ":trigger_value"',
'rule_trigger_notes_ends_choice' => 'Notes end with..',
'rule_trigger_notes_ends' => 'Notes end with ":trigger_value"',
'rule_trigger_bill_is_choice' => 'Bill is..',
'rule_trigger_bill_is' => 'Bill is ":trigger_value"',
'rule_trigger_bill_is_choice' => 'Subscription is..',
'rule_trigger_bill_is' => 'Subscription is ":trigger_value"',
'rule_trigger_external_id_is_choice' => 'External ID is..',
'rule_trigger_external_id_is' => 'External ID is ":trigger_value"',
'rule_trigger_internal_reference_is_choice' => 'Internal reference is..',
@@ -993,12 +993,12 @@ return [
'rule_trigger_budget_ends' => 'Budget ends with ":trigger_value"',
'rule_trigger_budget_starts_choice' => 'Budget starts with..',
'rule_trigger_budget_starts' => 'Budget starts with ":trigger_value"',
'rule_trigger_bill_contains_choice' => 'Bill contains..',
'rule_trigger_bill_contains' => 'Bill contains ":trigger_value"',
'rule_trigger_bill_ends_choice' => 'Bill ends with..',
'rule_trigger_bill_ends' => 'Bill ends with ":trigger_value"',
'rule_trigger_bill_starts_choice' => 'Bill starts with..',
'rule_trigger_bill_starts' => 'Bill starts with ":trigger_value"',
'rule_trigger_bill_contains_choice' => 'Subscription contains..',
'rule_trigger_bill_contains' => 'Subscription contains ":trigger_value"',
'rule_trigger_bill_ends_choice' => 'Subscription ends with..',
'rule_trigger_bill_ends' => 'Subscription ends with ":trigger_value"',
'rule_trigger_bill_starts_choice' => 'Subscription starts with..',
'rule_trigger_bill_starts' => 'Subscription starts with ":trigger_value"',
'rule_trigger_external_id_contains_choice' => 'External ID contains..',
'rule_trigger_external_id_contains' => 'External ID contains ":trigger_value"',
'rule_trigger_external_id_ends_choice' => 'External ID ends with..',
@@ -1141,10 +1141,10 @@ return [
'rule_trigger_not_budget_contains' => 'Budget does not contain ":trigger_value"',
'rule_trigger_not_budget_ends' => 'Budget does not end on ":trigger_value"',
'rule_trigger_not_budget_starts' => 'Budget does not start with ":trigger_value"',
'rule_trigger_not_bill_is' => 'Bill is not is ":trigger_value"',
'rule_trigger_not_bill_contains' => 'Bill does not contain ":trigger_value"',
'rule_trigger_not_bill_ends' => 'Bill does not end on ":trigger_value"',
'rule_trigger_not_bill_starts' => 'Bill does not end with ":trigger_value"',
'rule_trigger_not_bill_is' => 'Subscription is not is ":trigger_value"',
'rule_trigger_not_bill_contains' => 'Subscription does not contain ":trigger_value"',
'rule_trigger_not_bill_ends' => 'Subscription does not end on ":trigger_value"',
'rule_trigger_not_bill_starts' => 'Subscription does not end with ":trigger_value"',
'rule_trigger_not_external_id_is' => 'External ID is not ":trigger_value"',
'rule_trigger_not_external_id_contains' => 'External ID does not contain ":trigger_value"',
'rule_trigger_not_external_id_ends' => 'External ID does not end on ":trigger_value"',
@@ -1208,14 +1208,14 @@ return [
'rule_trigger_not_has_attachments' => 'Transaction has no attachments',
'rule_trigger_not_has_any_category' => 'Transaction has no category',
'rule_trigger_not_has_any_budget' => 'Transaction has no budget',
'rule_trigger_not_has_any_bill' => 'Transaction has no bill',
'rule_trigger_not_has_any_bill' => 'Transaction has no subscription',
'rule_trigger_not_has_any_tag' => 'Transaction has no tags',
'rule_trigger_not_any_notes' => 'Transaction has no notes',
'rule_trigger_not_any_external_url' => 'Transaction has no external URL',
'rule_trigger_not_has_no_attachments' => 'Transaction has a (any) attachment(s)',
'rule_trigger_not_has_no_category' => 'Transaction has a (any) category',
'rule_trigger_not_has_no_budget' => 'Transaction has a (any) budget',
'rule_trigger_not_has_no_bill' => 'Transaction has a (any) bill',
'rule_trigger_not_has_no_bill' => 'Transaction has a (any) subscription',
'rule_trigger_not_has_no_tag' => 'Transaction has a (any) tag',
'rule_trigger_not_no_notes' => 'Transaction has any notes',
'rule_trigger_not_no_external_url' => 'Transaction has an external URL',
@@ -1300,8 +1300,8 @@ return [
'rule_action_clear_notes_choice' => 'Remove any notes',
'rule_action_clear_notes' => 'Remove any notes',
'rule_action_set_notes_choice' => 'Set notes to ..',
'rule_action_link_to_bill_choice' => 'Link to a bill ..',
'rule_action_link_to_bill' => 'Link to bill ":action_value"',
'rule_action_link_to_bill_choice' => 'Link to a subscription ..',
'rule_action_link_to_bill' => 'Link to subscription ":action_value"',
'rule_action_switch_accounts_choice' => 'Switch source and destination accounts (transfers only!)',
'rule_action_switch_accounts' => 'Switch source and destination',
'rule_action_set_notes' => 'Set notes to ":action_value"',
@@ -1323,14 +1323,14 @@ return [
'rule_action_set_amount' => 'Set amount to ":action_value"',
'rule_action_set_destination_to_cash_choice' => 'Set destination account to (cash)',
'rule_action_set_source_to_cash_choice' => 'Set source account to (cash)',
'rulegroup_for_bills_title' => 'Rule group for bills',
'rulegroup_for_bills_description' => 'A special rule group for all the rules that involve bills.',
'rule_for_bill_title' => 'Auto-generated rule for bill ":name"',
'rule_for_bill_description' => 'This rule is auto-generated to try to match bill ":name".',
'create_rule_for_bill' => 'Create a new rule for bill ":name"',
'create_rule_for_bill_txt' => 'You have just created a new bill called ":name", congratulations!Firefly III can automagically match new withdrawals to this bill. For example, whenever you pay your rent, the bill "rent" will be linked to the expense. This way, Firefly III can accurately show you which bills are due and which ones aren\'t. In order to do so, a new rule must be created. Firefly III has filled in some sensible defaults for you. Please make sure these are correct. If these values are correct, Firefly III will automatically link the correct withdrawal to the correct bill. Please check out the triggers to see if they are correct, and add some if they\'re wrong.',
'new_rule_for_bill_title' => 'Rule for bill ":name"',
'new_rule_for_bill_description' => 'This rule marks transactions for bill ":name".',
'rulegroup_for_bills_title' => 'Rule group for subscriptions',
'rulegroup_for_bills_description' => 'A special rule group for all the rules that involve subscriptions.',
'rule_for_bill_title' => 'Auto-generated rule for subscription ":name"',
'rule_for_bill_description' => 'This rule is auto-generated to try to match subscription ":name".',
'create_rule_for_bill' => 'Create a new rule for subscription ":name"',
'create_rule_for_bill_txt' => 'You have just created a new subscription called ":name", congratulations!Firefly III can automagically match new withdrawals to this subscription. For example, whenever you pay your rent, the subscription "rent" will be linked to the expense. This way, Firefly III can accurately show you which subscriptions are due and which ones aren\'t. In order to do so, a new rule must be created. Firefly III has filled in some sensible defaults for you. Please make sure these are correct. If these values are correct, Firefly III will automatically link the correct withdrawal to the correct subscription. Please check out the triggers to see if they are correct, and add some if they\'re wrong.',
'new_rule_for_bill_title' => 'Rule for subscription ":name"',
'new_rule_for_bill_description' => 'This rule marks transactions for subscription ":name".',
'new_rule_for_journal_title' => 'Rule based on transaction ":description"',
'new_rule_for_journal_description' => 'This rule is based on transaction ":description". It will match transactions that are exactly the same.',
@@ -1443,7 +1443,7 @@ return [
'optional_field_meta_data' => 'Optional meta data',
'external_url' => 'External URL',
'pref_notification_login_failure' => 'Login failure',
'pref_notification_bill_reminder' => 'Reminder about expiring bills',
'pref_notification_bill_reminder' => 'Reminder about expiring subscriptions',
'pref_notification_new_access_token' => 'Alert when a new API access token is created',
'pref_notification_transaction_creation' => 'Alert when a transaction is created automatically',
'pref_notification_user_login' => 'Alert when you login from a new location',
@@ -1542,7 +1542,7 @@ return [
'delete_all_budgets' => 'Delete ALL your budgets',
'delete_all_categories' => 'Delete ALL your categories',
'delete_all_tags' => 'Delete ALL your tags',
'delete_all_bills' => 'Delete ALL your bills',
'delete_all_bills' => 'Delete ALL your subscriptions',
'delete_all_piggy_banks' => 'Delete ALL your piggy banks',
'delete_all_rules' => 'Delete ALL your rules',
'delete_all_recurring' => 'Delete ALL your recurring transactions',
@@ -1560,7 +1560,7 @@ return [
'deleted_all_budgets' => 'All budgets have been deleted',
'deleted_all_categories' => 'All categories have been deleted',
'deleted_all_tags' => 'All tags have been deleted',
'deleted_all_bills' => 'All bills have been deleted',
'deleted_all_bills' => 'All subscriptions have been deleted',
'deleted_all_piggy_banks' => 'All piggy banks have been deleted',
'deleted_all_rules' => 'All rules and rule groups have been deleted',
'deleted_all_object_groups' => 'All groups have been deleted',
@@ -1738,7 +1738,7 @@ return [
'create_new_expense' => 'Create new expense account',
'create_new_revenue' => 'Create new revenue account',
'create_new_piggy_bank' => 'Create new piggy bank',
'create_new_bill' => 'Create new bill',
'create_new_bill' => 'Create new subscription',
'create_new_subscription' => 'Create new subscription',
'create_new_rule' => 'Create new rule',
@@ -1753,7 +1753,7 @@ return [
'cannot_disable_currency_journals' => 'Cannot disable :name because transactions are still using it.',
'cannot_disable_currency_last_left' => 'Cannot disable :name because it is the last enabled currency.',
'cannot_disable_currency_account_meta' => 'Cannot disable :name because it is used in asset accounts.',
'cannot_disable_currency_bills' => 'Cannot disable :name because it is used in bills.',
'cannot_disable_currency_bills' => 'Cannot disable :name because it is used in subscriptions.',
'cannot_disable_currency_recurring' => 'Cannot disable :name because it is used in recurring transactions.',
'cannot_disable_currency_available_budgets' => 'Cannot disable :name because it is used in available budgets.',
'cannot_disable_currency_budget_limits' => 'Cannot disable :name because it is used in budget limits.',
@@ -1854,39 +1854,39 @@ return [
'subscriptions_in_group' => 'Subscriptions in group "%{title}"',
'subscr_expected_x_times' => 'Expect to pay %{amount} %{times} times this period',
'not_or_not_yet' => 'Not (yet)',
'visit_bill' => 'Visit bill ":name" at Firefly III',
'match_between_amounts' => 'Bill matches transactions between :low and :high.',
'running_again_loss' => 'Previously linked transactions to this bill may lose their connection, if they (no longer) match the rule(s).',
'bill_related_rules' => 'Rules related to this bill',
'visit_bill' => 'Visit subscription ":name" at Firefly III',
'match_between_amounts' => 'Subscription matches transactions between :low and :high.',
'running_again_loss' => 'Previously linked transactions to this subscription may lose their connection, if they (no longer) match the rule(s).',
'bill_related_rules' => 'Rules related to this subscription',
'repeats' => 'Repeats',
'bill_end_date_help' => 'Optional field. The bill is expected to end on this date.',
'bill_extension_date_help' => 'Optional field. The bill must be extended (or cancelled) on or before this date.',
'bill_end_index_line' => 'This bill ends on :date',
'bill_extension_index_line' => 'This bill must be extended or cancelled on :date',
'bill_end_date_help' => 'Optional field. The subscription is expected to end on this date.',
'bill_extension_date_help' => 'Optional field. The subscription must be extended (or cancelled) on or before this date.',
'bill_end_index_line' => 'This subscription ends on :date',
'bill_extension_index_line' => 'This subscription must be extended or cancelled on :date',
'connected_journals' => 'Connected transactions',
'auto_match_on' => 'Automatically matched by Firefly III',
'auto_match_off' => 'Not automatically matched by Firefly III',
'next_expected_match' => 'Next expected match',
'delete_bill' => 'Delete bill ":name"',
'deleted_bill' => 'Deleted bill ":name"',
'edit_bill' => 'Edit bill ":name"',
'delete_bill' => 'Delete subscription ":name"',
'deleted_bill' => 'Deleted subscription ":name"',
'edit_bill' => 'Edit subscription ":name"',
'more' => 'More',
'rescan_old' => 'Run rules again, on all transactions',
'update_bill' => 'Update bill',
'updated_bill' => 'Updated bill ":name"',
'store_new_bill' => 'Store new bill',
'stored_new_bill' => 'Stored new bill ":name"',
'cannot_scan_inactive_bill' => 'Inactive bills cannot be scanned.',
'rescanned_bill' => 'Rescanned everything, and linked :count transaction to the bill.|Rescanned everything, and linked :count transactions to the bill.',
'average_bill_amount_year' => 'Average bill amount (:year)',
'average_bill_amount_overall' => 'Average bill amount (overall)',
'bill_is_active' => 'Bill is active',
'update_bill' => 'Update subscription',
'updated_bill' => 'Updated subscription ":name"',
'store_new_bill' => 'Store new subscription',
'stored_new_bill' => 'Stored new subscription ":name"',
'cannot_scan_inactive_bill' => 'Inactive subscriptions cannot be scanned.',
'rescanned_bill' => 'Rescanned everything, and linked :count transaction to the subscription.|Rescanned everything, and linked :count transactions to the subscription.',
'average_bill_amount_year' => 'Average subscription amount (:year)',
'average_bill_amount_overall' => 'Average subscription amount (overall)',
'bill_is_active' => 'Subscription is active',
'bill_expected_between' => 'Expected between :start and :end',
'bill_will_automatch' => 'Bill will automatically linked to matching transactions',
'bill_will_automatch' => 'Subscription will automatically linked to matching transactions',
'skips_over' => 'skips over',
'bill_store_error' => 'An unexpected error occurred while storing your new bill. Please check the log files',
'bill_store_error' => 'An unexpected error occurred while storing your new subscription. Please check the log files',
'list_inactive_rule' => 'inactive rule',
'bill_edit_rules' => 'Firefly III will attempt to edit the rule related to this bill as well. If you\'ve edited this rule yourself however, Firefly III won\'t change anything.|Firefly III will attempt to edit the :count rules related to this bill as well. If you\'ve edited these rules yourself however, Firefly III won\'t change anything.',
'bill_edit_rules' => 'Firefly III will attempt to edit the rule related to this subscription as well. If you\'ve edited this rule yourself however, Firefly III won\'t change anything.|Firefly III will attempt to edit the :count rules related to this subscription as well. If you\'ve edited these rules yourself however, Firefly III won\'t change anything.',
'bill_expected_date' => 'Expected :date',
'bill_expected_date_js' => 'Expected {date}',
'expected_amount' => '(Expected) amount',
@@ -2118,7 +2118,7 @@ return [
'cannot_edit_other_fields' => 'You cannot mass-edit other fields than the ones here, because there is no room to show them. Please follow the link and edit them by one-by-one, if you need to edit these fields.',
'cannot_change_amount_reconciled' => 'You can\'t change the amount of reconciled transactions.',
'no_budget' => '(no budget)',
'no_bill' => '(no bill)',
'no_bill' => '(no subscription)',
'account_per_budget' => 'Account per budget',
'account_per_category' => 'Account per category',
'create_new_object' => 'Create',
@@ -2167,7 +2167,7 @@ return [
'update_bl_notes' => 'Update notes',
'unknown_journal_error' => 'Could not store the transaction. Please check the log files.',
'attachment_not_found' => 'This attachment could not be found.',
'journal_link_bill' => 'This transaction is linked to bill <a href=":route">:name</a>. To remove the connection, uncheck the checkbox. Use rules to connect it to another bill.',
'journal_link_bill' => 'This transaction is linked to subscription <a href=":route">:name</a>. To remove the connection, uncheck the checkbox. Use rules to connect it to another subscription.',
'transaction_stored_link' => '<a href="transactions/show/{ID}">Transaction #{ID} ("{title}")</a> has been stored.',
'transaction_new_stored_link' => '<a href="transactions/show/{ID}">Transaction #{ID}</a> has been stored.',
'transaction_updated_link' => '<a href="transactions/show/{ID}">Transaction #{ID}</a> ("{title}") has been updated.',
@@ -2210,10 +2210,10 @@ return [
'newWithdrawal' => 'New expense',
'newDeposit' => 'New deposit',
'newTransfer' => 'New transfer',
'bills_to_pay' => 'Bills to pay',
'bills_to_pay' => 'Subscriptions to pay',
'per_day' => 'Per day',
'left_to_spend_per_day' => 'Left to spend per day',
'bills_paid' => 'Bills paid',
'bills_paid' => 'Subscriptions paid',
'custom_period' => 'Custom period',
'reset_to_current' => 'Reset to current period',
'select_period' => 'Select a period',
@@ -2275,7 +2275,7 @@ return [
'piggyBanks' => 'Piggy banks',
'piggy_banks' => 'Piggy banks',
'amount_x_of_y' => '{current} of {total}',
'bills' => 'Bills',
'bills' => 'Subscriptions',
'withdrawal' => 'Withdrawal',
'opening_balance' => 'Opening balance',
'deposit' => 'Deposit',
@@ -2284,7 +2284,7 @@ return [
'Withdrawal' => 'Withdrawal',
'Deposit' => 'Deposit',
'Transfer' => 'Transfer',
'bill' => 'Bill',
'bill' => 'Subscription',
'yes' => 'Yes',
'no' => 'No',
'amount' => 'Amount',
@@ -2430,7 +2430,7 @@ return [
'left' => 'Left',
'max-amount' => 'Maximum amount',
'min-amount' => 'Minimum amount',
'journal-amount' => 'Current bill entry',
'journal-amount' => 'Current subscription entry',
'name' => 'Name',
'date' => 'Date',
'date_and_time' => 'Date and time',
@@ -2745,10 +2745,10 @@ return [
'no_piggies_intro_default' => 'You have no piggy banks yet. You can create piggy banks to divide your savings and keep track of what you\'re saving up for.',
'no_piggies_imperative_default' => 'Do you have things you\'re saving money for? Create a piggy bank and keep track:',
'no_piggies_create_default' => 'Create a new piggy bank',
'no_bills_title_default' => 'Let\'s create a bill!',
'no_bills_intro_default' => 'You have no bills yet. You can create bills to keep track of regular expenses, like your rent or insurance.',
'no_bills_imperative_default' => 'Do you have such regular bills? Create a bill and keep track of your payments:',
'no_bills_create_default' => 'Create a bill',
'no_bills_title_default' => 'Let\'s create a subscription!',
'no_bills_intro_default' => 'You have no subscriptions yet. You can create subscriptions to keep track of regular expenses, like your rent or insurance.',
'no_bills_imperative_default' => 'Do you have such regular subscriptions? Create a subscription and keep track of your payments:',
'no_bills_create_default' => 'Create a subscription',
// recurring transactions
'recurrence_max_count' => 'This recurring transactions will be created at most :max time(s), and has been created :count time(s) already.',
@@ -2827,8 +2827,8 @@ return [
'box_spent_in_currency' => 'Spent (:currency)',
'box_earned_in_currency' => 'Earned (:currency)',
'box_budgeted_in_currency' => 'Budgeted (:currency)',
'box_bill_paid_in_currency' => 'Bills paid (:currency)',
'box_bill_unpaid_in_currency' => 'Bills unpaid (:currency)',
'box_bill_paid_in_currency' => 'Subscriptions paid (:currency)',
'box_bill_unpaid_in_currency' => 'Subscriptions unpaid (:currency)',
'box_left_to_spend_in_currency' => 'Left to spend (:currency)',
'box_net_worth_in_currency' => 'Net worth (:currency)',
'box_spend_per_day' => 'Left to spend per day: :amount',
@@ -2869,7 +2869,7 @@ return [
'ale_action_clear_notes' => 'Removed notes',
'ale_action_clear_tag' => 'Cleared tag',
'ale_action_clear_all_tags' => 'Cleared all tags',
'ale_action_set_bill' => 'Linked to bill',
'ale_action_set_bill' => 'Linked to subscription',
'ale_action_switch_accounts' => 'Switched source and destination account',
'ale_action_set_budget' => 'Set budget',
'ale_action_set_category' => 'Set category',

View File

@@ -61,7 +61,7 @@ return [
'currency' => 'Currency',
'account_id' => 'Asset account',
'budget_id' => 'Budget',
'bill_id' => 'Bill',
'bill_id' => 'Subscription',
'opening_balance' => 'Opening balance',
'tagMode' => 'Tag mode',
'virtual_balance' => 'Virtual balance',
@@ -140,7 +140,7 @@ return [
'end' => 'End of range',
'delete_account' => 'Delete account ":name"',
'delete_webhook' => 'Delete webhook ":title"',
'delete_bill' => 'Delete bill ":name"',
'delete_bill' => 'Delete subscription ":name"',
'delete_budget' => 'Delete budget ":name"',
'delete_category' => 'Delete category ":name"',
'delete_currency' => 'Delete currency ":name"',
@@ -155,7 +155,7 @@ return [
'attachment_areYouSure' => 'Are you sure you want to delete the attachment named ":name"?',
'account_areYouSure' => 'Are you sure you want to delete the account named ":name"?',
'account_areYouSure_js' => 'Are you sure you want to delete the account named "{name}"?',
'bill_areYouSure' => 'Are you sure you want to delete the bill named ":name"?',
'bill_areYouSure' => 'Are you sure you want to delete the subscription named ":name"?',
'rule_areYouSure' => 'Are you sure you want to delete the rule titled ":title"?',
'object_group_areYouSure' => 'Are you sure you want to delete the group titled ":title"?',
'ruleGroup_areYouSure' => 'Are you sure you want to delete the rule group titled ":title"?',
@@ -184,7 +184,7 @@ return [
'also_delete_piggyBanks' => 'The only piggy bank connected to this account will be deleted as well.|All :count piggy bank connected to this account will be deleted as well.',
'also_delete_piggyBanks_js' => 'No piggy banks|The only piggy bank connected to this account will be deleted as well.|All {count} piggy banks connected to this account will be deleted as well.',
'not_delete_piggy_banks' => 'The piggy bank connected to this group will not be deleted.|The :count piggy banks connected to this group will not be deleted.',
'bill_keep_transactions' => 'The only transaction connected to this bill will not be deleted.|All :count transactions connected to this bill will be spared deletion.',
'bill_keep_transactions' => 'The only transaction connected to this subscription will not be deleted.|All :count transactions connected to this subscription will be spared deletion.',
'budget_keep_transactions' => 'The only transaction connected to this budget will not be deleted.|All :count transactions connected to this budget will be spared deletion.',
'category_keep_transactions' => 'The only transaction connected to this category will not be deleted.|All :count transactions connected to this category will be spared deletion.',
'recurring_keep_transactions' => 'The only transaction created by this recurring transaction will not be deleted.|All :count transactions created by this recurring transaction will be spared deletion.',

View File

@@ -105,22 +105,29 @@ return [
'piggy-banks_show_piggyEvents' => 'Any additions or removals are also listed here.',
// bill index
'bills_index_rules' => 'Here you see which rules will check if this bill is hit',
'bills_index_paid_in_period' => 'This field indicates when the bill was last paid.',
'bills_index_expected_in_period' => 'This field indicates for each bill if and when the next bill is expected to hit.',
'bills_index_rules' => 'Here you see which rules will check if this subscription is hit',
'bills_index_paid_in_period' => 'This field indicates when the subscription was last paid.',
'bills_index_expected_in_period' => 'This field indicates for each subscription if and when the next subscription is expected to hit.',
'subscriptions_index_rules' => 'Here you see which rules will check if this subscription is hit',
'subscriptions_index_paid_in_period' => 'This field indicates when the subscription was last paid.',
'subscriptions_index_expected_in_period' => 'This field indicates for each subscription if and when the next subscription is expected to hit.',
// show bill
'bills_show_billInfo' => 'This table shows some general information about this bill.',
'bills_show_billButtons' => 'Use this button to re-scan old transactions so they will be matched to this bill.',
'bills_show_billChart' => 'This chart shows the transactions linked to this bill.',
'bills_show_billInfo' => 'This table shows some general information about this subscription.',
'bills_show_billButtons' => 'Use this button to re-scan old transactions so they will be matched to this subscription.',
'bills_show_billChart' => 'This chart shows the transactions linked to this subscription.',
'subscriptions_show_billInfo' => 'This table shows some general information about this subscription.',
'subscriptions_show_billButtons' => 'Use this button to re-scan old transactions so they will be matched to this subscription.',
'subscriptions_show_billChart' => 'This chart shows the transactions linked to this subscription.',
// create bill
'bills_create_intro' => 'Use bills to track the amount of money you\'re due every period. Think about expenses like rent, insurance or mortgage payments.',
'bills_create_intro' => 'Use subscriptions to track the amount of money you\'re due every period. Think about expenses like rent, insurance or mortgage payments.',
'bills_create_name' => 'Use a descriptive name such as "Rent" or "Health insurance".',
// 'bills_create_match' => 'To match transactions, use terms from those transactions or the expense account involved. All words must match.',
'bills_create_amount_min_holder' => 'Select a minimum and maximum amount for this bill.',
'bills_create_repeat_freq_holder' => 'Most bills repeat monthly, but you can set another frequency here.',
'bills_create_skip_holder' => 'If a bill repeats every 2 weeks, the "skip"-field should be set to "1" to skip every other week.',
'bills_create_amount_min_holder' => 'Select a minimum and maximum amount for this subscription.',
'bills_create_repeat_freq_holder' => 'Most subscriptions repeat monthly, but you can set another frequency here.',
'bills_create_skip_holder' => 'If a subscription repeats every 2 weeks, the "skip"-field should be set to "1" to skip every other week.',
// rules index
'rules_index_intro' => 'Firefly III allows you to manage rules, that will automagically be applied to any transaction you create or edit.',

View File

@@ -85,7 +85,7 @@ return [
'to' => 'To',
'budget' => 'Budget',
'category' => 'Category',
'bill' => 'Bill',
'bill' => 'Subscription',
'withdrawal' => 'Withdrawal',
'deposit' => 'Deposit',
'transfer' => 'Transfer',
@@ -105,7 +105,7 @@ return [
'accounts_count' => 'Number of accounts',
'journals_count' => 'Number of transactions',
'attachments_count' => 'Number of attachments',
'bills_count' => 'Number of bills',
'bills_count' => 'Number of subscriptions',
'categories_count' => 'Number of categories',
'budget_count' => 'Number of budgets',
'rule_and_groups_count' => 'Number of rules and rule groups',

View File

@@ -6,7 +6,7 @@
{% block content %}
<form method="POST" action="{{ route('bills.store') }}" accept-charset="UTF-8" class="form-horizontal" id="store" enctype="multipart/form-data">
<form method="POST" action="{{ route('subscriptions.store') }}" accept-charset="UTF-8" class="form-horizontal" id="store" enctype="multipart/form-data">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">

View File

@@ -6,7 +6,7 @@
{% block content %}
<form method="POST" action="{{ route('bills.destroy',bill.id) }}" accept-charset="UTF-8" class="form-horizontal" id="destroy">
<form method="POST" action="{{ route('subscriptions.destroy',bill.id) }}" accept-charset="UTF-8" class="form-horizontal" id="destroy">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<div class="row">
<div class="col-lg-6 col-lg-offset-3 col-md-12 col-sm-12">

View File

@@ -6,7 +6,7 @@
{% block content %}
<form method="post" action="{{ route('bills.update', bill.id) }}" class="form-horizontal" accept-charset="UTF-8"
<form method="post" action="{{ route('subscriptions.update', bill.id) }}" class="form-horizontal" accept-charset="UTF-8"
enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<input type="hidden" name="id" value="{{ bill.id }}"/>

View File

@@ -6,7 +6,7 @@
{% block content %}
{% if total == 0 %}
{% include 'partials.empty' with {objectType: 'default', type: 'bills',route: route('bills.create')} %}
{% include 'partials.empty' with {objectType: 'default', type: 'bills',route: route('subscriptions.create')} %}
{% else %}
<div class="row">
<div class="col-lg-12 col-sm-12 col-md-12">
@@ -17,19 +17,19 @@
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><span class="fa fa-ellipsis-v"></span></button>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ route('bills.create') }}"><span class="fa fa-plus fa-fw"></span> {{ 'new_bill'|_ }}</a></li>
<li><a href="{{ route('subscriptions.create') }}"><span class="fa fa-plus fa-fw"></span> {{ 'new_bill'|_ }}</a></li>
</ul>
</div>
</div>
</div>
<div class="box-body no-padding">
<div style="padding:8px;">
<a class="btn btn-success" href="{{ route('bills.create') }}"><span class="fa fa-plus fa-fw"></span> {{ 'create_new_bill'|_ }}</a>
<a class="btn btn-success" href="{{ route('subscriptions.create') }}"><span class="fa fa-plus fa-fw"></span> {{ 'create_new_bill'|_ }}</a>
</div>
{% include 'list/bills' %}
</div>
<div class="box-footer">
<a class="btn btn-success" href="{{ route('bills.create') }}"><span class="fa fa-plus fa-fw"></span> {{ 'create_new_bill'|_ }}</a>
<a class="btn btn-success" href="{{ route('subscriptions.create') }}"><span class="fa fa-plus fa-fw"></span> {{ 'create_new_bill'|_ }}</a>
</div>
</div>
</div>

View File

@@ -16,8 +16,8 @@
<div class="btn-group">
<button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown"><span class="fa fa-ellipsis-v"></span></button>
<ul class="dropdown-menu" role="menu">
<li><a href="{{ route('bills.edit', object.data.id) }}"><span class="fa fa-fw fa-pencil"></span> {{ 'edit'|_ }}</a></li>
<li><a href="{{ route('bills.delete', object.data.id) }}"><span class="fa fa-fw fa-trash-o"></span> {{ 'delete'|_ }}</a></li>
<li><a href="{{ route('subscriptions.edit', object.data.id) }}"><span class="fa fa-fw fa-pencil"></span> {{ 'edit'|_ }}</a></li>
<li><a href="{{ route('subscriptions.delete', object.data.id) }}"><span class="fa fa-fw fa-trash-o"></span> {{ 'delete'|_ }}</a></li>
</ul>
</div>
</div>
@@ -67,7 +67,7 @@
<td>
{% for avg in yearAverage %}
{{ formatAmountBySymbol(avg.avg, avg.currency_symbol, avg.currency_decimal_places, true) }}
{% if convertToNative %}
{% if convertToNative and 0 != avg.native_avg %}
({{ formatAmountBySymbol(avg.native_avg,
defaultCurrency.symbol, defaultCurrency.decimal_places, true) }})
{% endif %}
@@ -81,7 +81,7 @@
<td>
{% for avg in overallAverage %}
{{ formatAmountBySymbol(avg.avg, avg.currency_symbol, avg.currency_decimal_places, true) }}
{% if convertToNative %}
{% if convertToNative and 0 != avg.native_avg %}
({{ formatAmountBySymbol(avg.native_avg,
defaultCurrency.symbol, defaultCurrency.decimal_places, true) }})
{% endif %}
@@ -93,8 +93,8 @@
</div>
<div class="box-footer">
<div class="btn-group">
<a class="btn btn-default" href="{{ route('bills.edit', [object.data.id]) }}">{{ 'edit'|_ }}</a>
<a class="btn btn-danger" href="{{ route('bills.delete', [object.data.id]) }}">{{ 'delete'|_ }}</a>
<a class="btn btn-default" href="{{ route('subscriptions.edit', [object.data.id]) }}">{{ 'edit'|_ }}</a>
<a class="btn btn-danger" href="{{ route('subscriptions.delete', [object.data.id]) }}">{{ 'delete'|_ }}</a>
</div>
</div>
</div>
@@ -116,7 +116,7 @@
{% endif %}
</div>
<div class="box-footer">
<form action="{{ route('bills.rescan',object.data.id) }}" method="post">
<form action="{{ route('subscriptions.rescan',object.data.id) }}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<p>
<input type="submit" name="submit" value="{{ 'rescan_old'|_ }}" class="btn btn-default"/>

View File

@@ -132,7 +132,7 @@
{# BILLS #}
<div class="box">
<div class="box-header with-border">
<h3 class="box-title"><a href="{{ route('bills.index') }}"
<h3 class="box-title"><a href="{{ route('subscriptions.index') }}"
title="{{ 'bills'|_ }}">{{ 'bills'|_ }}</a></h3>
</div>

View File

@@ -31,17 +31,17 @@
<span class="fa fa-fw fa-bars bill-handle"></span>
</td>
<td class="hidden-sm hidden-xs">
<div class="btn-group btn-group-xs edit_tr_buttons"><a href="{{ route('bills.edit',entry.id) }}"
<div class="btn-group btn-group-xs edit_tr_buttons"><a href="{{ route('subscriptions.edit',entry.id) }}"
class="btn btn-default btn-xs"><span
class="fa fa-fw fa-pencil"></span></a><a
href="{{ route('bills.delete',entry.id) }}" class="btn btn-danger btn-xs"><span
href="{{ route('subscriptions.delete',entry.id) }}" class="btn btn-danger btn-xs"><span
class="fa fa-fw fa-trash-o"></span></a></div>
</td>
<td>
{% if not entry.active %}
<span class="fa fa-fw fa-ban"></span>
{% endif %}
<a href="{{ route('bills.show',entry.id) }}" title="{{ entry.name }}">{{ entry.name }}</a>
<a href="{{ route('subscriptions.show',entry.id) }}" title="{{ entry.name }}">{{ entry.name }}</a>
{# count attachments #}
{% if entry.attachments.count() > 0 %}
<span class="fa fa-paperclip"></span>

View File

@@ -46,7 +46,7 @@
- {{ 'piggy_bank'|_ }}: <a href="{{ route('piggy-banks.show', [piggyBank.id]) }}">{{ piggyBank.name }}</a><br>
{% endfor %}
{% for bill in objectGroup.bills %}
- {{ 'bill'|_ }}: <a href="{{ route('bills.show', [bill.id]) }}">{{ bill.name }}</a><br>
- {{ 'bill'|_ }}: <a href="{{ route('subscriptions.show', [bill.id]) }}">{{ bill.name }}</a><br>
{% endfor %}
</td>
<td>

View File

@@ -25,7 +25,7 @@
<span class="info-box-icon"><span class="fa fa-calendar-o"></span></span>
<div class="info-box-content">
<span class="info-box-text"><a href="{{ route('bills.index') }}">{{ 'bills_to_pay'|_ }}</a></span>
<span class="info-box-text"><a href="{{ route('subscriptions.index') }}">{{ 'bills_to_pay'|_ }}</a></span>
<span class="info-box-number" id="box-bills-unpaid"></span>
<div class="progress">

View File

@@ -97,7 +97,7 @@
</a>
</li>
<li>
<a href="{{ route('bills.create') }}">
<a href="{{ route('subscriptions.create') }}">
<span class="menu-icon fa fa-calendar-o bg-purple"></span>
<div class="menu-info">

View File

@@ -16,7 +16,7 @@
</li>
<li class="{{ activeRoutePartial('bills') }}">
<a href="{{ route('bills.index') }}">
<a href="{{ route('subscriptions.index') }}">
<em class="fa fa-calendar-o fa-fw"></em>
<span>{{ 'bills'|_ }}</span>
</a>

View File

@@ -137,7 +137,7 @@
{% if bills|length > 1 %}
{{ ExpandedForm.select('bill_id', bills, null) }}
{% else %}
{{ ExpandedForm.select('bill_id', bills, null, {helpText: trans('firefly.no_bill_pointer', {link: route('bills.index')})}) }}
{{ ExpandedForm.select('bill_id', bills, null, {helpText: trans('firefly.no_bill_pointer', {link: route('subscriptions.index')})}) }}
{% endif %}
{# TAGS #}

View File

@@ -136,7 +136,7 @@
{% if bills|length > 1 %}
{{ ExpandedForm.select('bill_id', bills, array.transactions[0].bill_id) }}
{% else %}
{{ ExpandedForm.select('bill_id', bills, array.transactions[0].bill_id, {helpText: trans('firefly.no_bill_pointer', {link: route('bills.index')})}) }}
{{ ExpandedForm.select('bill_id', bills, array.transactions[0].bill_id, {helpText: trans('firefly.no_bill_pointer', {link: route('subscriptions.index')})}) }}
{% endif %}
{# TAGS #}

View File

@@ -184,7 +184,7 @@
{% endif %}
{% if 0 != transaction.bill_id %}
<p>
<a href="{{ route('bills.show', [transaction.bill_id]) }}">{{ transaction.bill_name }}</a>
<a href="{{ route('subscriptions.show', [transaction.bill_id]) }}">{{ transaction.bill_name }}</a>
</p>
{% endif %}
</td>

View File

@@ -13,7 +13,7 @@
{% if (bill.expected_dates|length > 0 or bill.paid_moments|length > 0) and bill.active %}
<tr>
<td>
<a href="{{ route('bills.show',bill.id) }}">{{ bill.name }}</a>
<a href="{{ route('subscriptions.show',bill.id) }}">{{ bill.name }}</a>
</td>
<td class="hidden-xs" style="text-align:right;">
{{ formatAmountBySymbol(bill.amount_min, bill.currency_symbol, bill.currency_decimal_places) }}
@@ -49,7 +49,7 @@
{% for line in bills.getBills %}
<tr>
<td data-value="{{ line.getBill.name }}">
<a href="{{ route('bills.show',line.getBill.id) }}">{{ line.getBill.name }}</a>
<a href="{{ route('subscriptions.show',line.getBill.id) }}">{{ line.getBill.name }}</a>
<small class="text-muted"><br/>
{{ trans('firefly.bill_expected_between', {start: line.getPayDate.isoFormat(monthAndDayFormat), end: line.getEndOfPayDate.isoFormat(monthAndDayFormat) }) }}
</small>

View File

@@ -134,7 +134,7 @@
</td>
<td class="hide-bill">
{% if journal.bill_id %}
<a href="{{ route('bills.show', [journal.bill_id]) }}" title="{{ journal.bill_name }}">{{ journal.bill_name }}</a>
<a href="{{ route('subscriptions.show', [journal.bill_id]) }}" title="{{ journal.bill_name }}">{{ journal.bill_name }}</a>
{% endif %}
</td>

View File

@@ -345,7 +345,7 @@
<tr>
<td style="width:40%;">{{ 'bill'|_ }}</td>
<td>
<a href="{{ route('bills.show', [journal.bill_id]) }}">{{ journal.bill_name }}</a>
<a href="{{ route('subscriptions.show', [journal.bill_id]) }}">{{ journal.bill_name }}</a>
</td>
</tr>
{% endif %}

View File

@@ -71,7 +71,7 @@
</p>
</template>
<template x-if="!loading && billBox.unpaid.length > 0">
<p class="d-none d-sm-block"><a href="{{ route('bills.index') }}">{{ __('firefly.bills_to_pay') }}</a></p>
<p class="d-none d-sm-block"><a href="{{ route('subscriptions.index') }}">{{ __('firefly.bills_to_pay') }}</a></p>
</template>
<template x-if="0 === billBox.unpaid.length && !loading">
<p class="d-none d-sm-block">TODO No subscriptions are waiting to be paid</p>