Rechnungen mit JavaScript automatisch analysieren
Binden Sie die Steuerscan API in Ihre JavaScript- oder Node.js-Anwendung ein — mit fetch und FormData, ohne externe Abhängigkeiten.
Zuletzt aktualisiert: 17. März 2026
Voraussetzungen
- ✓Node.js 18+ — fetch() ist seit Node.js 18 nativ verfügbar
- ✓API-Schlüssel — kostenlos erstellen unter Dashboard → API-Schlüssel
- ✓Keine npm-Pakete nötig — fetch und FormData sind in Node.js 18+ und jedem modernen Browser eingebaut
Node.js-Beispiel
import { readFile } from "fs/promises";
const API_KEY = "sk_live_IHR_SCHLÜSSEL"; // oder sk_test_... zum Testen
const API_URL = "https://api.steuerscan.de/api/v1/process";
// Zum Testen: const API_URL = "https://api.steuerscan.de/api/v1/test/process";
async function analyseRechnung(dateipfad, beruf = "") {
const dateiinhalt = await readFile(dateipfad);
const dateiname = dateipfad.split("/").pop();
const formData = new FormData();
formData.append("file", new Blob([dateiinhalt]), dateiname);
if (beruf) formData.append("job_description", beruf);
const response = await fetch(API_URL, {
method: "POST",
headers: { "X-API-Key": API_KEY },
body: formData,
});
if (!response.ok) {
const error = await response.json();
throw new Error(`API-Fehler ${response.status}: ${error.detail}`);
}
return response.json();
}
// Beispielaufruf
const ergebnis = await analyseRechnung("./rechnung.pdf", "Software Developer");
const { kategorie, absetzbar, grund } = ergebnis.results;
console.log(`Kategorie: ${kategorie}`);
console.log(`Absetzbar: ${absetzbar}`);
console.log(`Begründung: ${grund}`);
console.log(`Credits: ${ergebnis.credits_remaining} verbleibend`);Browser-Beispiel (File-Input)
Hinweis: Der API-Schlüssel sollte bei produktiven Anwendungen serverseitig gehalten werden, damit er nicht im Browser-Code sichtbar ist.
// HTML: <input type="file" id="datei" accept=".pdf,.jpg,.png">
// <button onclick="analysieren()">Analysieren</button>
async function analysieren() {
const input = document.getElementById("datei");
const datei = input.files[0];
if (!datei) return alert("Bitte eine Datei auswählen.");
const formData = new FormData();
formData.append("file", datei);
const response = await fetch("https://api.steuerscan.de/api/v1/process", {
method: "POST",
headers: { "X-API-Key": "sk_live_IHR_SCHLÜSSEL" },
body: formData,
});
if (!response.ok) {
const err = await response.json();
alert(`Fehler: ${err.detail}`);
return;
}
const ergebnis = await response.json();
const r = ergebnis.results;
console.log(`${r.kategorie} – ${r.absetzbar ? "absetzbar" : "nicht absetzbar"}`);
}Antwort-Struktur
Die API gibt ein strukturiertes JSON-Objekt zurück:
{
"results": {
"kategorie": "Arbeitsmittel",
"absetzbar": true,
"absetzbar_fuer_bestimmte_berufe": false,
"grund": "Der Laptop ist als ...",
"bedingungen": [],
"hinweise": ["GWG bis 800€ ..."]
},
"credits_remaining": 42
}Fehlerbehandlung
async function analyseRechnungMitFehler(dateipfad) {
try {
const ergebnis = await analyseRechnung(dateipfad);
return ergebnis;
} catch (error) {
if (error.message.includes("401")) {
console.error("Ungültiger API-Schlüssel.");
} else if (error.message.includes("403")) {
console.error("Keine Credits mehr. Bitte Credits kaufen.");
} else {
console.error("Fehler:", error.message);
}
return null;
}
}Häufige Fragen
Welche Node.js-Version wird benötigt?
Node.js 18 oder neuer. fetch() ist seit Node.js 18 nativ verfügbar — keine zusätzlichen Pakete nötig.
Kann ich die API auch im Browser nutzen?
Ja. Bei Produktivanwendungen sollten Sie den API-Schlüssel über Ihren eigenen Server weiterleiten.
Gibt es ein offizielles JavaScript-SDK?
Nein, aber fetch() und FormData sind in jedem modernen Browser und Node.js 18+ eingebaut.
Jetzt kostenlos starten
Registrieren Sie sich, erhalten Sie 5 Credits gratis und integrieren Sie die Steuerscan API in wenigen Minuten in Ihre JavaScript-Anwendung.