Příjmy
0 Kč
Celkové příjmy měsíce
Výdaje
0%
0 Kč
Z příjmů na výdaje
Spoření
0%
0 Kč
Míra úspor z příjmů
Zůstatek
0%
0 Kč
Volné prostředky
Nový záznam
AI zpracování textu
Filtrovat účty:
| Typ | Popis | Účet | Suma | Akce |
|---|
Žádné záznamy
Průměrná útrata/den
0 Kč
Míra úspor z příjmů
0%
Volný denní rozpočet
---
Struktura výdajů
Makro přehled (Cashflow)
AI Finanční Diagnostika
Deep Analysis by AI
Kliknutím níže umělá inteligence analyzuje vaše data a napíše vám konkrétní doporučení ke
zlepšení vašeho cashflow.
Cloud API & Live Sync
Aplikace bude automaticky odesílat každou změnu na toto URL (Live Sync).
Návod k nastavení Google Sheets
1. Otevřete novou Google Tabulku a klikněte na Rozšíření > Apps Script.
2. Vložte do editoru tento kód a uložte:
function jsonOutput(obj) {
return ContentService.createTextOutput(JSON.stringify(obj)).setMimeType(ContentService.MimeType.JSON);
}
function getDataSheet() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
}
function doGet() {
var sheet = getDataSheet();
var data = sheet.getDataRange().getValues();
if (data.length < 2) return jsonOutput({ status: "success", data: [] });
var headers = data[0].map(String);
var res = [];
for (var i = 1; i < data.length; i++) {
if (data[i].join("") === "") continue;
var obj = {};
for (var j = 0; j < headers.length; j++) obj[headers[j]] = data[i][j];
res.push(obj);
}
return jsonOutput({ status: "success", data: res });
}
function doPost(e) {
var payload = JSON.parse(e.postData.contents || "[]");
var txs = Array.isArray(payload) ? payload : (payload.data || []);
if (!Array.isArray(txs)) return jsonOutput({ status: "error", message: "Neplatná data" });
var sheet = getDataSheet();
if (txs.length === 0 && sheet.getLastRow() > 1) {
return jsonOutput({ status: "skipped", message: "Prázdný zápis přeskočen kvůli ochraně existujících dat" });
}
var headers = ["id", "date", "pohyb", "info", "suma", "ucet", "saving", "isExcluded", "origSuma", "origMena"];
txs.forEach(function(t) {
Object.keys(t).forEach(function(k) {
if (headers.indexOf(k) === -1) headers.push(k);
});
});
sheet.clearContents();
sheet.getRange(1, 1, 1, headers.length).setValues([headers]);
if (txs.length > 0) {
var rows = txs.map(function(t) {
return headers.map(function(h) { return t[h] !== undefined ? t[h] : ""; });
});
sheet.getRange(2, 1, rows.length, headers.length).setValues(rows);
}
return jsonOutput({ status: "success", message: "OK" });
}
3. Klikněte na Nasadit > Nové nasazení.
4. Vyberte typ Webová aplikace a přístup Kdokoliv (Anyone).
5. Zkopírujte zobrazenou URL a vložte ji do políčka výše.
Bez klíče