diff --git a/app/Api/V2/Controllers/NetWorthController.php b/app/Api/V2/Controllers/NetWorthController.php
new file mode 100644
index 0000000000..e1f25159e4
--- /dev/null
+++ b/app/Api/V2/Controllers/NetWorthController.php
@@ -0,0 +1,64 @@
+.
+ */
+
+namespace FireflyIII\Api\V2\Controllers;
+
+use FireflyIII\Api\V2\Request\Generic\SingleDateRequest;
+use FireflyIII\Helpers\Report\NetWorthInterface;
+use FireflyIII\Repositories\Account\AccountRepositoryInterface;
+use FireflyIII\Support\Http\Api\ConvertsExchangeRates;
+use Illuminate\Http\JsonResponse;
+
+/**
+ * Class NetWorthController
+ */
+class NetWorthController extends Controller
+{
+    use ConvertsExchangeRates;
+
+    private NetWorthInterface          $netWorth;
+    private AccountRepositoryInterface $repository;
+
+    /**
+     *
+     */
+    public function __construct()
+    {
+        $this->middleware(
+            function ($request, $next) {
+                $this->repository = app(AccountRepositoryInterface::class);
+                $this->netWorth   = app(NetWorthInterface::class);
+                $this->netWorth->setUser(auth()->user());
+                return $next($request);
+            }
+        );
+    }
+
+    public function get(SingleDateRequest $request): JsonResponse
+    {
+        $date      = $request->getDate();
+        $result    = $this->netWorth->sumNetWorthByCurrency($date);
+        $converted = $this->cerSum($result);
+
+        return response()->json($converted);
+    }
+
+}
diff --git a/app/Helpers/Report/NetWorth.php b/app/Helpers/Report/NetWorth.php
index 451b56ad08..df695cda2a 100644
--- a/app/Helpers/Report/NetWorth.php
+++ b/app/Helpers/Report/NetWorth.php
@@ -24,7 +24,9 @@ declare(strict_types=1);
 namespace FireflyIII\Helpers\Report;
 
 use Carbon\Carbon;
+use FireflyIII\Exceptions\FireflyException;
 use FireflyIII\Models\Account;
+use FireflyIII\Models\AccountType;
 use FireflyIII\Repositories\Account\AccountRepositoryInterface;
 use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
 use FireflyIII\Support\CacheProperties;
@@ -38,9 +40,7 @@ use JsonException;
  */
 class NetWorth implements NetWorthInterface
 {
-
-    /** @var AccountRepositoryInterface */
-    private $accountRepository;
+    private AccountRepositoryInterface $accountRepository;
 
     /** @var CurrencyRepositoryInterface */
     private $currencyRepos;
@@ -63,11 +63,10 @@ class NetWorth implements NetWorthInterface
      *
      * @return array
      * @throws JsonException
-     * @throws \FireflyIII\Exceptions\FireflyException
+     * @throws FireflyException
      */
     public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array
     {
-
         // start in the past, end in the future? use $date
         $cache = new CacheProperties;
         $cache->addProperty($date);
@@ -144,4 +143,55 @@ class NetWorth implements NetWorthInterface
         $this->currencyRepos = app(CurrencyRepositoryInterface::class);
         $this->currencyRepos->setUser($this->user);
     }
+
+    /**
+     * @inheritDoc
+     */
+    public function sumNetWorthByCurrency(Carbon $date): array
+    {
+        /**
+         * Collect accounts
+         */
+        $accounts = $this->getAccounts();
+        $return   = [];
+        $balances = app('steam')->balancesByAccounts($accounts, $date);
+        foreach ($accounts as $account) {
+            $currency = $this->accountRepository->getAccountCurrency($account);
+            $balance  = $balances[$account->id] ?? '0';
+
+            // always subtract virtual balance.
+            $virtualBalance = (string) $account->virtual_balance;
+            if ('' !== $virtualBalance) {
+                $balance = bcsub($balance, $virtualBalance);
+            }
+
+            $return[$currency->id]        = $return[$currency->id] ?? [
+                    'id'             => (string) $currency->id,
+                    'name'           => $currency->name,
+                    'symbol'         => $currency->symbol,
+                    'code'           => $currency->code,
+                    'decimal_places' => $currency->decimal_places,
+                    'sum'            => '0',
+                ];
+            $return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $balance);
+        }
+
+        return $return;
+    }
+
+    /**
+     * @return Collection
+     */
+    private function getAccounts(): Collection
+    {
+        $accounts = $this->accountRepository->getAccountsByType([AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE, AccountType::DEFAULT, AccountType::CREDITCARD]);
+        $filtered = new Collection;
+        /** @var Account $account */
+        foreach ($accounts as $account) {
+            if (1 === (int) $this->accountRepository->getMetaValue($account, 'include_net_worth')) {
+                $filtered->push($account);
+            }
+        }
+        return $filtered;
+    }
 }
diff --git a/app/Helpers/Report/NetWorthInterface.php b/app/Helpers/Report/NetWorthInterface.php
index 0cb371b2c5..c4bd89c199 100644
--- a/app/Helpers/Report/NetWorthInterface.php
+++ b/app/Helpers/Report/NetWorthInterface.php
@@ -46,8 +46,8 @@ interface NetWorthInterface
      *
      * @param Collection $accounts
      * @param Carbon     $date
-     *
      * @return array
+     * @deprecated
      */
     public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array;
 
@@ -56,4 +56,15 @@ interface NetWorthInterface
      */
     public function setUser(User $user): void;
 
+    /**
+     * TODO move to repository
+     *
+     * Same as above but cleaner function with less dependencies.
+     *
+     * @param Carbon $date
+     *
+     * @return array
+     */
+    public function sumNetWorthByCurrency(Carbon $date): array;
+
 }
diff --git a/frontend/src/api/v2/net-worth/index.js b/frontend/src/api/v2/net-worth/index.js
new file mode 100644
index 0000000000..6037ee45a2
--- /dev/null
+++ b/frontend/src/api/v2/net-worth/index.js
@@ -0,0 +1,29 @@
+/*
+ * basic.js
+ * Copyright (c) 2021 james@firefly-iii.org
+ *
+ * This file is part of Firefly III (https://github.com/firefly-iii).
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see .
+ */
+
+import {api} from "boot/axios";
+import {format} from "date-fns";
+
+export default class NetWorth {
+  get(date) {
+    let dateStr = format(date, 'y-MM-dd');
+    return api.get('/api/v2/net-worth', {params: {date: dateStr}});
+  }
+}
diff --git a/frontend/src/components/dashboard/BillInsightBox.vue b/frontend/src/components/dashboard/BillInsightBox.vue
index 942cc04bb6..69192c6083 100644
--- a/frontend/src/components/dashboard/BillInsightBox.vue
+++ b/frontend/src/components/dashboard/BillInsightBox.vue
@@ -36,25 +36,28 @@
             :value="percentage"
             size="50px"
             :thickness="0.22"
-            color="green"
-            track-color="grey-3"
+            color="positive"
+            track-color="negative"
           />
         
         
         
-          You have no bills
+          {{ $t('firefly.no_bill') }}
         
         
           {{ $t('firefly.bills_to_pay') }}:
-          
-            ({{ formatAmount(bill.code, bill.sum) }}), 
+          
+          
+            
+              {{ formatAmount(item.code, item.sum) }} + 
+          
           
-          {{ $t('firefly.bills_paid') }}:
-          ({{
-              formatAmount(bill.code, bill.sum)
-            }}), 
+          {{ $t('firefly.bills_paid') }}:
+          
+            
+              {{formatAmount(item.code, item.sum) }}
+            
+             + 
         
       
     
@@ -74,10 +77,6 @@ export default {
       currency: 'EUR',
       unpaidAmount: 0.0,
       paidAmount: 0.0,
-      range: {
-        start: null,
-        end: null,
-      },
     }
   },
   name: "BillInsightBox",
@@ -99,19 +98,16 @@ export default {
   mounted() {
     this.store = useFireflyIIIStore();
     // TODO this code snippet is recycled a lot.
-    if (null === this.range.start || null === this.range.end) {
-      // subscribe, then update:
-      this.store.$onAction(
-        ({name, $store, args, after, onError,}) => {
-          after((result) => {
-            if (name === 'setRange') {
-              this.range = result;
-              this.triggerUpdate();
-            }
-          })
-        }
-      )
-    }
+    // subscribe, then update:
+    this.store.$onAction(
+      ({name, $store, args, after, onError,}) => {
+        after((result) => {
+          if (name === 'setRange') {
+            this.triggerUpdate();
+          }
+        })
+      }
+    )
     this.triggerUpdate();
   },
   methods: {
@@ -139,6 +135,8 @@ export default {
             {
               sum: current.sum,
               code: current.code,
+              native_sum: current.native_sum,
+              native_code: current.native_code,
               native: hasNative,
             }
           );
@@ -157,6 +155,8 @@ export default {
             {
               sum: current.sum,
               code: current.code,
+              native_sum: current.native_sum,
+              native_code: current.native_code,
               native: hasNative,
             }
           );
diff --git a/frontend/src/components/dashboard/NetWorthInsightBox.vue b/frontend/src/components/dashboard/NetWorthInsightBox.vue
new file mode 100644
index 0000000000..6f5d9048cb
--- /dev/null
+++ b/frontend/src/components/dashboard/NetWorthInsightBox.vue
@@ -0,0 +1,125 @@
+
+
+
+  
+  
+  
+  
+    
+      
+        
+          {{ $t('firefly.net_worth') }}
+        
+      
+      
+      
+        
+          
+        
+        
+        
+          {{ formatAmount(currency, primary) }}
+          
+             
+               {{ formatAmount(item.code, item.sum) }}
+                + 
+          
+        
+      
+    
+  
+
+
+
+
+
diff --git a/frontend/src/components/dashboard/SpendInsightBox.vue b/frontend/src/components/dashboard/SpendInsightBox.vue
index 76b80a5127..94b76b897a 100644
--- a/frontend/src/components/dashboard/SpendInsightBox.vue
+++ b/frontend/src/components/dashboard/SpendInsightBox.vue
@@ -26,7 +26,7 @@
     
       
         
-          To spend and left
+          {{ $t('firefly.left_to_spend') }}
         
       
       
@@ -36,22 +36,27 @@
             :value="percentage"
             size="50px"
             :thickness="0.22"
-            color="green"
-            track-color="grey-3"
+            color="negative"
+            track-color="positive"
           />
         
         
         
-          You have no budgets set
+          {{ $t('firefly.no_budget') }}
         
         
-          Budgeted:
-          ({{ formatAmount(budget.code, budget.sum) }}), 
-          
-          Spent:
-          ({{ formatAmount(budget.code, budget.sum) }}), 
+          {{ $t('firefly.budgeted') }}:
+          
+          
+            {{ formatAmount(item.code, item.sum) }}
+             + 
+          
+          
+          {{ $t('firefly.spent') }}: 
+          
+          
+            {{ formatAmount(item.code, item.sum) }}
+             + 
         
       
     
@@ -72,10 +77,6 @@ export default {
       //percentage: 0,
       budgetedAmount: 0.0,
       spentAmount: 0.0,
-      range: {
-        start: null,
-        end: null,
-      },
     }
   },
   name: "SpendInsightBox",
@@ -98,19 +99,16 @@ export default {
     this.store = useFireflyIIIStore();
 
     // TODO this code snippet is recycled a lot.
-    if (null === this.range.start || null === this.range.end) {
-      // subscribe, then update:
-      this.store.$onAction(
-        ({name, $store, args, after, onError,}) => {
-          after((result) => {
-            if (name === 'setRange') {
-              this.range = result;
-              this.triggerUpdate();
-            }
-          })
-        }
-      )
-    }
+    // subscribe, then update:
+    this.store.$onAction(
+      ({name, $store, args, after, onError,}) => {
+        after((result) => {
+          if (name === 'setRange') {
+            this.triggerUpdate();
+          }
+        })
+      }
+    )
     this.triggerUpdate();
   },
   methods: {
@@ -138,6 +136,8 @@ export default {
             {
               sum: current.sum,
               code: current.code,
+              native_sum: current.native_sum,
+              native_code: current.native_code,
               native: hasNative
             }
           );
@@ -156,6 +156,8 @@ export default {
             {
               sum: current.sum,
               code: current.code,
+              native_sum: current.native_sum,
+              native_code: current.native_code,
               native: hasNative
             }
           );
diff --git a/frontend/src/i18n/bg_BG/index.js b/frontend/src/i18n/bg_BG/index.js
index e47a6baf43..8612ac7f86 100644
--- a/frontend/src/i18n/bg_BG/index.js
+++ b/frontend/src/i18n/bg_BG/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "\u041d\u043e\u0432 \u0434\u0435\u043f\u043e\u0437\u0438\u0442",
         "newWithdrawal": "\u041d\u043e\u0432 \u0440\u0430\u0437\u0445\u043e\u0434",
         "bills_paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438 \u0441\u043c\u0435\u0442\u043a\u0438",
+        "left_to_spend": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438 \u0437\u0430 \u0445\u0430\u0440\u0447\u0435\u043d\u0435",
+        "no_budget": "(\u0431\u0435\u0437 \u0431\u044e\u0434\u0436\u0435\u0442)",
+        "budgeted": "\u0411\u044e\u0434\u0436\u0435\u0442\u0438\u0440\u0430\u043d\u0438",
+        "spent": "\u041f\u043e\u0445\u0430\u0440\u0447\u0435\u043d\u0438",
+        "no_bill": "(\u043d\u044f\u043c\u0430 \u0441\u043c\u0435\u0442\u043a\u0430)",
         "rule_trigger_source_account_starts_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0441..",
         "rule_trigger_source_account_ends_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430 \u0441..",
         "rule_trigger_source_account_is_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0435..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "\u0410\u0431\u043e\u043d\u0430\u043c\u0435\u043d\u0442\u0438",
         "welcome_back": "\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u0441\u043b\u0443\u0447\u0432\u0430?",
         "bills_to_pay": "\u0421\u043c\u0435\u0442\u043a\u0438 \u0437\u0430 \u043f\u043b\u0430\u0449\u0430\u043d\u0435",
-        "left_to_spend": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438 \u0437\u0430 \u0445\u0430\u0440\u0447\u0435\u043d\u0435",
         "net_worth": "\u041d\u0435\u0442\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/cs_CZ/index.js b/frontend/src/i18n/cs_CZ/index.js
index a89760eebb..8d9cdc2dbb 100644
--- a/frontend/src/i18n/cs_CZ/index.js
+++ b/frontend/src/i18n/cs_CZ/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nov\u00fd vklad",
         "newWithdrawal": "Nov\u00fd v\u00fddaj",
         "bills_paid": "Zaplacen\u00e9 \u00fa\u010dty",
+        "left_to_spend": "Zb\u00fdv\u00e1 k utracen\u00ed",
+        "no_budget": "(\u017e\u00e1dn\u00fd rozpo\u010det)",
+        "budgeted": "Rozpo\u010det",
+        "spent": "Utraceno",
+        "no_bill": "(no bill)",
         "rule_trigger_source_account_starts_choice": "Source account name starts with..",
         "rule_trigger_source_account_ends_choice": "Source account name ends with..",
         "rule_trigger_source_account_is_choice": "Source account name is..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "Jak to jde?",
         "bills_to_pay": "Faktury k zaplacen\u00ed",
-        "left_to_spend": "Zb\u00fdv\u00e1 k utracen\u00ed",
         "net_worth": "\u010cist\u00e9 jm\u011bn\u00ed",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/de_DE/index.js b/frontend/src/i18n/de_DE/index.js
index 99af0c881a..f3c82617ff 100644
--- a/frontend/src/i18n/de_DE/index.js
+++ b/frontend/src/i18n/de_DE/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Neue Einnahme",
         "newWithdrawal": "Neue Ausgabe",
         "bills_paid": "Rechnungen bezahlt",
+        "left_to_spend": "Verbleibend zum Ausgeben",
+        "no_budget": "(kein Budget)",
+        "budgeted": "Vorgesehen",
+        "spent": "Ausgegeben",
+        "no_bill": "(keine Belege)",
         "rule_trigger_source_account_starts_choice": "Name des Quellkontos beginnt mit..",
         "rule_trigger_source_account_ends_choice": "Quellkonto-Name endet mit..",
         "rule_trigger_source_account_is_choice": "Quellkonto-Name lautet..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Abonnements",
         "welcome_back": "\u00dcberblick",
         "bills_to_pay": "Unbezahlte Rechnungen",
-        "left_to_spend": "Verbleibend zum Ausgeben",
         "net_worth": "Eigenkapital",
         "pref_last365": "Letztes Jahr",
         "pref_last90": "Letzte 90 Tage",
diff --git a/frontend/src/i18n/el_GR/index.js b/frontend/src/i18n/el_GR/index.js
index e52e641612..092a07f9e2 100644
--- a/frontend/src/i18n/el_GR/index.js
+++ b/frontend/src/i18n/el_GR/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "\u039d\u03ad\u03b1 \u03ba\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7",
         "newWithdrawal": "\u039d\u03ad\u03b1 \u03b4\u03b1\u03c0\u03ac\u03bd\u03b7",
         "bills_paid": "\u03a0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03b1 \u03c0\u03ac\u03b3\u03b9\u03b1 \u03ad\u03be\u03bf\u03b4\u03b1",
+        "left_to_spend": "\u0394\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03b1 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ce\u03bd",
+        "no_budget": "(\u03c7\u03c9\u03c1\u03af\u03c2 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc)",
+        "budgeted": "\u03a0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf",
+        "spent": "\u0394\u03b1\u03c0\u03b1\u03bd\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd",
+        "no_bill": "(\u03c7\u03c9\u03c1\u03af\u03c2 \u03c0\u03ac\u03b3\u03b9\u03bf \u03ad\u03be\u03bf\u03b4\u03bf)",
         "rule_trigger_source_account_starts_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03b1\u03c1\u03c7\u03af\u03b6\u03b5\u03b9 \u03bc\u03b5..",
         "rule_trigger_source_account_ends_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03c4\u03b5\u03bb\u03b5\u03b9\u03ce\u03bd\u03b5\u03b9 \u03bc\u03b5..",
         "rule_trigger_source_account_is_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "\u03a3\u03c5\u03bd\u03b4\u03c1\u03bf\u03bc\u03ad\u03c2",
         "welcome_back": "\u03a4\u03b9 \u03c0\u03b1\u03af\u03b6\u03b5\u03b9;",
         "bills_to_pay": "\u03a0\u03ac\u03b3\u03b9\u03b1 \u03ad\u03be\u03bf\u03b4\u03b1 \u03c0\u03c1\u03bf\u03c2 \u03c0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ae",
-        "left_to_spend": "\u0394\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03b1 \u03c0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03ce\u03bd",
         "net_worth": "\u039a\u03b1\u03b8\u03b1\u03c1\u03ae \u03b1\u03be\u03af\u03b1",
         "pref_last365": "\u03a0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03ad\u03c4\u03bf\u03c2",
         "pref_last90": "\u03a4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b5\u03c2 90 \u03b7\u03bc\u03ad\u03c1\u03b5\u03c2",
diff --git a/frontend/src/i18n/en_GB/index.js b/frontend/src/i18n/en_GB/index.js
index f6760449d1..b0e49372d5 100644
--- a/frontend/src/i18n/en_GB/index.js
+++ b/frontend/src/i18n/en_GB/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "New deposit",
         "newWithdrawal": "New expense",
         "bills_paid": "Bills paid",
+        "left_to_spend": "Left to spend",
+        "no_budget": "(no budget)",
+        "budgeted": "Budgeted",
+        "spent": "Spent",
+        "no_bill": "(no bill)",
         "rule_trigger_source_account_starts_choice": "Source account name starts with..",
         "rule_trigger_source_account_ends_choice": "Source account name ends with..",
         "rule_trigger_source_account_is_choice": "Source account name is..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "What's playing?",
         "bills_to_pay": "Bills to pay",
-        "left_to_spend": "Left to spend",
         "net_worth": "Net worth",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/en_US/index.js b/frontend/src/i18n/en_US/index.js
index 58c512cc7a..0d4e92d4d1 100644
--- a/frontend/src/i18n/en_US/index.js
+++ b/frontend/src/i18n/en_US/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "New deposit",
         "newWithdrawal": "New expense",
         "bills_paid": "Bills paid",
+        "left_to_spend": "Left to spend",
+        "no_budget": "(no budget)",
+        "budgeted": "Budgeted",
+        "spent": "Spent",
+        "no_bill": "(no bill)",
         "rule_trigger_source_account_starts_choice": "Source account name starts with..",
         "rule_trigger_source_account_ends_choice": "Source account name ends with..",
         "rule_trigger_source_account_is_choice": "Source account name is..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "What's playing?",
         "bills_to_pay": "Bills to pay",
-        "left_to_spend": "Left to spend",
         "net_worth": "Net worth",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/es_ES/index.js b/frontend/src/i18n/es_ES/index.js
index c3614d11b4..03bdb04f82 100644
--- a/frontend/src/i18n/es_ES/index.js
+++ b/frontend/src/i18n/es_ES/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nuevo deposito",
         "newWithdrawal": "Nuevo gasto",
         "bills_paid": "Facturas pagadas",
+        "left_to_spend": "Disponible para gastar",
+        "no_budget": "(sin presupuesto)",
+        "budgeted": "Presupuestado",
+        "spent": "Gastado",
+        "no_bill": "(sin factura)",
         "rule_trigger_source_account_starts_choice": "El nombre de la cuenta de origen comienza con..",
         "rule_trigger_source_account_ends_choice": "El nombre de la cuenta de origen termina con..",
         "rule_trigger_source_account_is_choice": "El nombre de la cuenta origen es..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Suscripciones",
         "welcome_back": "\u00bfQu\u00e9 est\u00e1 pasando?",
         "bills_to_pay": "Facturas por pagar",
-        "left_to_spend": "Disponible para gastar",
         "net_worth": "Valor Neto",
         "pref_last365": "A\u00f1o pasado",
         "pref_last90": "\u00daltimos 90 d\u00edas",
diff --git a/frontend/src/i18n/fi_FI/index.js b/frontend/src/i18n/fi_FI/index.js
index 568c50e37b..38f0f46ea3 100644
--- a/frontend/src/i18n/fi_FI/index.js
+++ b/frontend/src/i18n/fi_FI/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Uusi talletus",
         "newWithdrawal": "Uusi kustannus",
         "bills_paid": "Maksetut laskut",
+        "left_to_spend": "K\u00e4ytett\u00e4viss\u00e4",
+        "no_budget": "(ei budjettia)",
+        "budgeted": "Budjetoitu",
+        "spent": "K\u00e4ytetty",
+        "no_bill": "(ei laskua)",
         "rule_trigger_source_account_starts_choice": "L\u00e4hdetilin nimi alkaa ...",
         "rule_trigger_source_account_ends_choice": "L\u00e4hdetilin nimi p\u00e4\u00e4ttyy..",
         "rule_trigger_source_account_is_choice": "L\u00e4hdetilin nimi on..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Tilaukset",
         "welcome_back": "Mit\u00e4 kuuluu?",
         "bills_to_pay": "Laskuja maksettavana",
-        "left_to_spend": "K\u00e4ytett\u00e4viss\u00e4",
         "net_worth": "Varallisuus",
         "pref_last365": "Edellinen vuosi",
         "pref_last90": "Viimeiset 90 p\u00e4iv\u00e4\u00e4",
diff --git a/frontend/src/i18n/fr_FR/index.js b/frontend/src/i18n/fr_FR/index.js
index 8f2488c3b7..b6ec9c6a95 100644
--- a/frontend/src/i18n/fr_FR/index.js
+++ b/frontend/src/i18n/fr_FR/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nouveau d\u00e9p\u00f4t",
         "newWithdrawal": "Nouvelle d\u00e9pense",
         "bills_paid": "Factures pay\u00e9es",
+        "left_to_spend": "Reste \u00e0 d\u00e9penser",
+        "no_budget": "(pas de budget)",
+        "budgeted": "Budg\u00e9tis\u00e9",
+        "spent": "D\u00e9pens\u00e9",
+        "no_bill": "(aucune facture)",
         "rule_trigger_source_account_starts_choice": "Le nom du compte source commence par..",
         "rule_trigger_source_account_ends_choice": "Le nom du compte source se termine par..",
         "rule_trigger_source_account_is_choice": "Le nom du compte source est..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Abonnements",
         "welcome_back": "Quoi de neuf ?",
         "bills_to_pay": "Factures \u00e0 payer",
-        "left_to_spend": "Reste \u00e0 d\u00e9penser",
         "net_worth": "Avoir net",
         "pref_last365": "L'ann\u00e9e derni\u00e8re",
         "pref_last90": "Les 90 derniers jours",
diff --git a/frontend/src/i18n/hu_HU/index.js b/frontend/src/i18n/hu_HU/index.js
index 1b97d74491..0962bcb5d4 100644
--- a/frontend/src/i18n/hu_HU/index.js
+++ b/frontend/src/i18n/hu_HU/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "\u00daj bev\u00e9tel",
         "newWithdrawal": "\u00daj k\u00f6lts\u00e9g",
         "bills_paid": "Befizetett sz\u00e1ml\u00e1k",
+        "left_to_spend": "Elk\u00f6lthet\u0151",
+        "no_budget": "(nincs k\u00f6lts\u00e9gkeret)",
+        "budgeted": "Betervezett",
+        "spent": "Elk\u00f6lt\u00f6tt",
+        "no_bill": "(no bill)",
         "rule_trigger_source_account_starts_choice": "Forr\u00e1ssz\u00e1mla nev\u00e9nek eleje..",
         "rule_trigger_source_account_ends_choice": "Forr\u00e1ssz\u00e1mla nev\u00e9nek v\u00e9ge..",
         "rule_trigger_source_account_is_choice": "A forr\u00e1ssz\u00e1mla neve..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "Mi a helyzet?",
         "bills_to_pay": "Fizetend\u0151 sz\u00e1ml\u00e1k",
-        "left_to_spend": "Elk\u00f6lthet\u0151",
         "net_worth": "Nett\u00f3 \u00e9rt\u00e9k",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/it_IT/index.js b/frontend/src/i18n/it_IT/index.js
index 18ea46b221..3d1b2a1f02 100644
--- a/frontend/src/i18n/it_IT/index.js
+++ b/frontend/src/i18n/it_IT/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nuova entrata",
         "newWithdrawal": "Nuova uscita",
         "bills_paid": "Bollette pagate",
+        "left_to_spend": "Altro da spendere",
+        "no_budget": "(nessun budget)",
+        "budgeted": "Preventivato",
+        "spent": "Speso",
+        "no_bill": "(nessuna bolletta)",
         "rule_trigger_source_account_starts_choice": "Il nome del conto di origine inizia con..",
         "rule_trigger_source_account_ends_choice": "Il nome del conto di origine termina con..",
         "rule_trigger_source_account_is_choice": "Il nome del conto di origine \u00e8..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Abbonamenti",
         "welcome_back": "La tua situazione finanziaria",
         "bills_to_pay": "Bollette da pagare",
-        "left_to_spend": "Altro da spendere",
         "net_worth": "Patrimonio",
         "pref_last365": "Anno scorso",
         "pref_last90": "Ultimi 90 giorni",
diff --git a/frontend/src/i18n/ja_JP/index.js b/frontend/src/i18n/ja_JP/index.js
index 4a48c5e7fd..d7a2646a7f 100644
--- a/frontend/src/i18n/ja_JP/index.js
+++ b/frontend/src/i18n/ja_JP/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "\u65b0\u3057\u3044\u5165\u91d1",
         "newWithdrawal": "\u65b0\u3057\u3044\u652f\u51fa",
         "bills_paid": "\u652f\u6255\u3044\u6e08\u307f\u8acb\u6c42",
+        "left_to_spend": "\u652f\u51fa\u3067\u304d\u308b\u6b8b\u308a",
+        "no_budget": "(\u4e88\u7b97\u306a\u3057)",
+        "budgeted": "\u8a08\u4e0a\u4e88\u7b97",
+        "spent": "\u652f\u51fa",
+        "no_bill": "(\u8acb\u6c42\u306a\u3057)",
         "rule_trigger_source_account_starts_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c...\u3067\u59cb\u307e\u308b",
         "rule_trigger_source_account_ends_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c\u2026\u3067\u7d42\u308f\u308b",
         "rule_trigger_source_account_is_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c...",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "\u8b1b\u8aad",
         "welcome_back": "\u6982\u8981",
         "bills_to_pay": "\u8acb\u6c42\u66f8",
-        "left_to_spend": "\u652f\u51fa\u3067\u304d\u308b\u6b8b\u308a",
         "net_worth": "\u7d14\u8cc7\u7523",
         "pref_last365": "\u6628\u5e74",
         "pref_last90": "\u904e\u53bb 90 \u65e5\u9593",
diff --git a/frontend/src/i18n/nb_NO/index.js b/frontend/src/i18n/nb_NO/index.js
index 542d1c6977..7dec4d05fe 100644
--- a/frontend/src/i18n/nb_NO/index.js
+++ b/frontend/src/i18n/nb_NO/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nytt innskudd",
         "newWithdrawal": "Ny utgift",
         "bills_paid": "Regninger betalt",
+        "left_to_spend": "Igjen \u00e5 bruke",
+        "no_budget": "(ingen budsjett)",
+        "budgeted": "Budsjettert",
+        "spent": "Brukt",
+        "no_bill": "(no bill)",
         "rule_trigger_source_account_starts_choice": "Source account name starts with..",
         "rule_trigger_source_account_ends_choice": "Source account name ends with..",
         "rule_trigger_source_account_is_choice": "Source account name is..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "What's playing?",
         "bills_to_pay": "Regninger \u00e5 betale",
-        "left_to_spend": "Igjen \u00e5 bruke",
         "net_worth": "Formue",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/nl_NL/index.js b/frontend/src/i18n/nl_NL/index.js
index 60cdb1ffed..74ecc48933 100644
--- a/frontend/src/i18n/nl_NL/index.js
+++ b/frontend/src/i18n/nl_NL/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nieuwe inkomsten",
         "newWithdrawal": "Nieuwe uitgave",
         "bills_paid": "Betaalde contracten",
+        "left_to_spend": "Over om uit te geven",
+        "no_budget": "(geen budget)",
+        "budgeted": "Gebudgetteerd",
+        "spent": "Uitgegeven",
+        "no_bill": "(geen contract)",
         "rule_trigger_source_account_starts_choice": "Bronrekeningnaam begint met..",
         "rule_trigger_source_account_ends_choice": "Bronrekeningnaam eindigt op..",
         "rule_trigger_source_account_is_choice": "Bronrekeningnaam is..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Abonnementen",
         "welcome_back": "Hoe staat het er voor?",
         "bills_to_pay": "Openstaande contracten",
-        "left_to_spend": "Over om uit te geven",
         "net_worth": "Kapitaal",
         "pref_last365": "Afgelopen jaar",
         "pref_last90": "Afgelopen 90 dagen",
diff --git a/frontend/src/i18n/pl_PL/index.js b/frontend/src/i18n/pl_PL/index.js
index 380433d92e..7e6dd51158 100644
--- a/frontend/src/i18n/pl_PL/index.js
+++ b/frontend/src/i18n/pl_PL/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nowa wp\u0142ata",
         "newWithdrawal": "Nowy wydatek",
         "bills_paid": "Zap\u0142acone rachunki",
+        "left_to_spend": "Pozosta\u0142o do wydania",
+        "no_budget": "(brak bud\u017cetu)",
+        "budgeted": "Zabud\u017cetowano",
+        "spent": "Wydano",
+        "no_bill": "(brak rachunku)",
         "rule_trigger_source_account_starts_choice": "Konto \u017ar\u00f3d\u0142owe si\u0119 zaczyna od..",
         "rule_trigger_source_account_ends_choice": "Konto \u017ar\u00f3d\u0142owe ko\u0144czy si\u0119 na..",
         "rule_trigger_source_account_is_choice": "Kontem \u017ar\u00f3d\u0142owym jest..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subskrypcje",
         "welcome_back": "Co jest grane?",
         "bills_to_pay": "Rachunki do zap\u0142acenia",
-        "left_to_spend": "Pozosta\u0142o do wydania",
         "net_worth": "Warto\u015b\u0107 netto",
         "pref_last365": "Ostatni rok",
         "pref_last90": "Ostatnie 90 dni",
diff --git a/frontend/src/i18n/pt_BR/index.js b/frontend/src/i18n/pt_BR/index.js
index 1977feea80..0959c09144 100644
--- a/frontend/src/i18n/pt_BR/index.js
+++ b/frontend/src/i18n/pt_BR/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Novo dep\u00f3sito",
         "newWithdrawal": "Nova despesa",
         "bills_paid": "Contas pagas",
+        "left_to_spend": "Restante para gastar",
+        "no_budget": "(sem or\u00e7amento)",
+        "budgeted": "Or\u00e7ado",
+        "spent": "Gasto",
+        "no_bill": "(sem conta)",
         "rule_trigger_source_account_starts_choice": "Nome da conta de origem come\u00e7a com..",
         "rule_trigger_source_account_ends_choice": "O nome da conta de origem termina com..",
         "rule_trigger_source_account_is_choice": "Nome da conta de origem \u00e9..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Assinaturas",
         "welcome_back": "O que est\u00e1 acontecendo?",
         "bills_to_pay": "Contas a pagar",
-        "left_to_spend": "Restante para gastar",
         "net_worth": "Valor L\u00edquido",
         "pref_last365": "Ano passado",
         "pref_last90": "\u00daltimos 90 dias",
diff --git a/frontend/src/i18n/pt_PT/index.js b/frontend/src/i18n/pt_PT/index.js
index e093468c53..a44e961444 100644
--- a/frontend/src/i18n/pt_PT/index.js
+++ b/frontend/src/i18n/pt_PT/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Novo dep\u00f3sito",
         "newWithdrawal": "Nova despesa",
         "bills_paid": "Fatura pagas",
+        "left_to_spend": "Restante para gastar",
+        "no_budget": "(sem or\u00e7amento)",
+        "budgeted": "Or\u00e7amentado",
+        "spent": "Gasto",
+        "no_bill": "(sem fatura)",
         "rule_trigger_source_account_starts_choice": "O nome da conta de origem come\u00e7a com..",
         "rule_trigger_source_account_ends_choice": "O nome da conta de origem acaba com..",
         "rule_trigger_source_account_is_choice": "O nome da conta de origem \u00e9..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscri\u00e7\u00f5es",
         "welcome_back": "Tudo bem?",
         "bills_to_pay": "Faturas a pagar",
-        "left_to_spend": "Restante para gastar",
         "net_worth": "Patrim\u00f3nio liquido",
         "pref_last365": "Last year",
         "pref_last90": "\u00daltimos 90 dias",
diff --git a/frontend/src/i18n/ro_RO/index.js b/frontend/src/i18n/ro_RO/index.js
index c3b214cff8..62fe6268df 100644
--- a/frontend/src/i18n/ro_RO/index.js
+++ b/frontend/src/i18n/ro_RO/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Depozit nou",
         "newWithdrawal": "Cheltuieli noi",
         "bills_paid": "Facturile pl\u0103tite",
+        "left_to_spend": "Ramas de cheltuit",
+        "no_budget": "(nici un buget)",
+        "budgeted": "Bugetat",
+        "spent": "Cheltuit",
+        "no_bill": "(f\u0103r\u0103 factur\u0103)",
         "rule_trigger_source_account_starts_choice": "Numele contului surs\u0103 \u00eencepe cu..",
         "rule_trigger_source_account_ends_choice": "Numele contului surs\u0103 se termin\u0103 cu..",
         "rule_trigger_source_account_is_choice": "Numele contului surs\u0103 este..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "Ce se red\u0103?",
         "bills_to_pay": "Facturile de plat\u0103",
-        "left_to_spend": "Ramas de cheltuit",
         "net_worth": "Valoarea net\u0103",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/ru_RU/index.js b/frontend/src/i18n/ru_RU/index.js
index 53898e4f21..ca053a15aa 100644
--- a/frontend/src/i18n/ru_RU/index.js
+++ b/frontend/src/i18n/ru_RU/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "\u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u0445\u043e\u0434",
         "newWithdrawal": "\u041d\u043e\u0432\u044b\u0439 \u0440\u0430\u0441\u0445\u043e\u0434",
         "bills_paid": "\u041e\u043f\u043b\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0441\u0447\u0435\u0442\u0430",
+        "left_to_spend": "\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c",
+        "no_budget": "(\u0432\u043d\u0435 \u0431\u044e\u0434\u0436\u0435\u0442\u0430)",
+        "budgeted": "\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u0431\u044e\u0434\u0436\u0435\u0442\u0435",
+        "spent": "\u0420\u0430\u0441\u0445\u043e\u0434",
+        "no_bill": "(\u043d\u0435\u0442 \u0441\u0447\u0451\u0442\u0430 \u043d\u0430 \u043e\u043f\u043b\u0430\u0442\u0443)",
         "rule_trigger_source_account_starts_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441..",
         "rule_trigger_source_account_ends_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430..",
         "rule_trigger_source_account_is_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043c\u043e\u0438\u043c\u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u0430\u043c\u0438?",
         "bills_to_pay": "\u0421\u0447\u0435\u0442\u0430 \u043a \u043e\u043f\u043b\u0430\u0442\u0435",
-        "left_to_spend": "\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c",
         "net_worth": "\u041c\u043e\u0438 \u0441\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0438\u044f",
         "pref_last365": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0433\u043e\u0434",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/sk_SK/index.js b/frontend/src/i18n/sk_SK/index.js
index e353d0b24e..29355ea3fd 100644
--- a/frontend/src/i18n/sk_SK/index.js
+++ b/frontend/src/i18n/sk_SK/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Nov\u00fd vklad",
         "newWithdrawal": "Nov\u00fd v\u00fddavok",
         "bills_paid": "Zaplaten\u00e9 \u00fa\u010dty",
+        "left_to_spend": "Zost\u00e1va k \u00fatrate",
+        "no_budget": "(\u017eiadny rozpo\u010det)",
+        "budgeted": "Rozpo\u010dtovan\u00e9",
+        "spent": "Utraten\u00e9",
+        "no_bill": "(\u017eiadny \u00fa\u010det)",
         "rule_trigger_source_account_starts_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu za\u010d\u00edna..",
         "rule_trigger_source_account_ends_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu kon\u010d\u00ed..",
         "rule_trigger_source_account_is_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu je..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "Ako to ide?",
         "bills_to_pay": "\u00da\u010dty na \u00fahradu",
-        "left_to_spend": "Zost\u00e1va k \u00fatrate",
         "net_worth": "\u010cist\u00e9 imanie",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/i18n/sv_SE/index.js b/frontend/src/i18n/sv_SE/index.js
index b23ffdc4aa..b847bcf12f 100644
--- a/frontend/src/i18n/sv_SE/index.js
+++ b/frontend/src/i18n/sv_SE/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Ny ins\u00e4ttning",
         "newWithdrawal": "Ny utgift",
         "bills_paid": "Notor betalda",
+        "left_to_spend": "\u00c5terst\u00e5r att spendera",
+        "no_budget": "(ingen budget)",
+        "budgeted": "Budgeterat",
+        "spent": "Spenderat",
+        "no_bill": "(ingen r\u00e4kning)",
         "rule_trigger_source_account_starts_choice": "K\u00e4llkontonamn b\u00f6rjar med..",
         "rule_trigger_source_account_ends_choice": "K\u00e4llkontonamn slutar med..",
         "rule_trigger_source_account_is_choice": "K\u00e4llkontonamn \u00e4r..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Prenumerationer",
         "welcome_back": "Vad spelas?",
         "bills_to_pay": "Notor att betala",
-        "left_to_spend": "\u00c5terst\u00e5r att spendera",
         "net_worth": "Nettof\u00f6rm\u00f6genhet",
         "pref_last365": "F\u00f6reg\u00e5ende \u00e5r",
         "pref_last90": "Senaste 90 dagarna",
diff --git a/frontend/src/i18n/vi_VN/index.js b/frontend/src/i18n/vi_VN/index.js
index d7afd66d9c..eb364ed71f 100644
--- a/frontend/src/i18n/vi_VN/index.js
+++ b/frontend/src/i18n/vi_VN/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "Ti\u1ec1n g\u1eedi m\u1edbi",
         "newWithdrawal": "Chi ph\u00ed m\u1edbi",
         "bills_paid": "H\u00f3a \u0111\u01a1n thanh to\u00e1n",
+        "left_to_spend": "C\u00f2n l\u1ea1i \u0111\u1ec3 chi ti\u00eau",
+        "no_budget": "(kh\u00f4ng c\u00f3 ng\u00e2n s\u00e1ch)",
+        "budgeted": "Ng\u00e2n s\u00e1ch",
+        "spent": "\u0110\u00e3 chi",
+        "no_bill": "(no bill)",
         "rule_trigger_source_account_starts_choice": "Source account name starts with..",
         "rule_trigger_source_account_ends_choice": "Source account name ends with..",
         "rule_trigger_source_account_is_choice": "Source account name is..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "Ch\u00e0o m\u1eebng tr\u1edf l\u1ea1i?",
         "bills_to_pay": "H\u00f3a \u0111\u01a1n ph\u1ea3i tr\u1ea3",
-        "left_to_spend": "C\u00f2n l\u1ea1i \u0111\u1ec3 chi ti\u00eau",
         "net_worth": "T\u00e0i s\u1ea3n th\u1ef1c",
         "pref_last365": "N\u0103m tr\u01b0\u1edbc",
         "pref_last90": "90 ng\u00e0y cu\u1ed1i",
diff --git a/frontend/src/i18n/zh_CN/index.js b/frontend/src/i18n/zh_CN/index.js
index 7f3c1332b1..fc85f844b9 100644
--- a/frontend/src/i18n/zh_CN/index.js
+++ b/frontend/src/i18n/zh_CN/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "\u65b0\u6536\u5165",
         "newWithdrawal": "\u65b0\u652f\u51fa",
         "bills_paid": "\u5df2\u4ed8\u8d26\u5355",
+        "left_to_spend": "\u5269\u4f59\u652f\u51fa",
+        "no_budget": "(\u65e0\u9884\u7b97)",
+        "budgeted": "\u9884\u7b97\u4e0a\u9650",
+        "spent": "\u652f\u51fa",
+        "no_bill": "(\u65e0\u8d26\u5355)",
         "rule_trigger_source_account_starts_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u5f00\u5934\u4e3a...",
         "rule_trigger_source_account_ends_choice": "\u6765\u6e90\u8d26\u6237\u7ed3\u5c3e\u4e3a\u2026",
         "rule_trigger_source_account_is_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u4e3a...",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "\u4eca\u5929\u7406\u8d22\u4e86\u5417\uff1f",
         "bills_to_pay": "\u5f85\u4ed8\u8d26\u5355",
-        "left_to_spend": "\u5269\u4f59\u652f\u51fa",
         "net_worth": "\u51c0\u8d44\u4ea7",
         "pref_last365": "\u6700\u8fd1\u4e00\u5e74",
         "pref_last90": "\u6700\u8fd190\u5929",
diff --git a/frontend/src/i18n/zh_TW/index.js b/frontend/src/i18n/zh_TW/index.js
index 9b3ca30d1b..130d976bd0 100644
--- a/frontend/src/i18n/zh_TW/index.js
+++ b/frontend/src/i18n/zh_TW/index.js
@@ -52,6 +52,11 @@ export default {
         "newDeposit": "\u65b0\u5b58\u6b3e",
         "newWithdrawal": "\u65b0\u652f\u51fa",
         "bills_paid": "\u5df2\u7e73\u5e33\u55ae",
+        "left_to_spend": "\u5269\u9918\u53ef\u82b1\u8cbb",
+        "no_budget": "(\u7121\u9810\u7b97)",
+        "budgeted": "\u5df2\u5217\u5165\u9810\u7b97",
+        "spent": "\u652f\u51fa",
+        "no_bill": "(no bill)",
         "rule_trigger_source_account_starts_choice": "Source account name starts with..",
         "rule_trigger_source_account_ends_choice": "Source account name ends with..",
         "rule_trigger_source_account_is_choice": "Source account name is..",
@@ -187,7 +192,6 @@ export default {
         "subscriptions": "Subscriptions",
         "welcome_back": "What's playing?",
         "bills_to_pay": "\u5f85\u4ed8\u5e33\u55ae",
-        "left_to_spend": "\u5269\u9918\u53ef\u82b1\u8cbb",
         "net_worth": "\u6de8\u503c",
         "pref_last365": "Last year",
         "pref_last90": "Last 90 days",
diff --git a/frontend/src/pages/dashboard/Dashboard.vue b/frontend/src/pages/dashboard/Dashboard.vue
index 28b89956a2..4835e58ec3 100644
--- a/frontend/src/pages/dashboard/Dashboard.vue
+++ b/frontend/src/pages/dashboard/Dashboard.vue
@@ -30,7 +30,7 @@
         
       
       
-        TODO net worth insight
+        
       
     
     
@@ -89,10 +89,12 @@