{
 "schema": "spawner-tool/v1",
 "id": "bot_031",
 "name": "Quellensteuer Rechner Bern: Abzug berechnen",
 "description": "Berechnen Sie die Quellensteuer auf den Bruttolohn im Kanton Bern. Satz eingeben, Abzug pro Monat und pro Jahr sowie den Nettolohn ablesen.",
 "url": "https://fachrechner.com/de/quellensteuer-rechner-bern/",
 "spec_url": "https://fachrechner.com/de/quellensteuer-rechner-bern/spec.json",
 "language": "de",
 "market": "CH",
 "live_since": null,
 "inputs": [
  {
   "id": "bruttolohn",
   "label": "Bruttolohn pro Monat",
   "unit": "CHF",
   "min": 0.0,
   "max": 50000.0,
   "step": 100.0,
   "default": 6000.0
  },
  {
   "id": "qst_satz",
   "label": "Quellensteuersatz laut Tarif",
   "unit": "%",
   "min": 0.0,
   "max": 40.0,
   "step": 0.1,
   "default": 5.0
  },
  {
   "id": "anzahl_monatslohne",
   "label": "Anzahl Monatslöhne pro Jahr",
   "unit": "Stk",
   "min": 1.0,
   "max": 14.0,
   "step": 1.0,
   "default": 13.0
  }
 ],
 "constants": [
  {
   "id": "prozent_faktor",
   "value": 100,
   "source": "Umrechnung Prozent in Dezimalbruch (mathematische Konvention)"
  }
 ],
 "outputs": [
  {
   "id": "qst_monat",
   "label": "Quellensteuer pro Monat",
   "unit": "CHF",
   "decimals": 2,
   "expression": "bruttolohn * qst_satz / prozent_faktor"
  },
  {
   "id": "netto_monat",
   "label": "Nettolohn pro Monat",
   "unit": "CHF",
   "decimals": 2,
   "expression": "bruttolohn - qst_monat"
  },
  {
   "id": "qst_jahr",
   "label": "Quellensteuer pro Jahr",
   "unit": "CHF",
   "decimals": 2,
   "expression": "bruttolohn * anzahl_monatslohne * qst_satz / prozent_faktor"
  }
 ],
 "formula": "Quellensteuer pro Monat = Bruttolohn × Quellensteuersatz / 100; Nettolohn pro Monat = Bruttolohn − Quellensteuer pro Monat; Quellensteuer pro Jahr = Bruttolohn × Anzahl Monatslöhne × Quellensteuersatz / 100",
 "expression_language": {
  "name": "safeexpr",
  "syntax": "Python arithmetic subset: + - * / ** %, parentheses, numbers, input/constant ids and ids of earlier outputs, functions abs sqrt log log10 exp floor ceil sin cos tan min max round(x,n), constants pi e, conditionals (a if x > y else b)",
  "semantics": "% is fmod; round() rounds half away from zero; outputs are evaluated in the listed order"
 },
 "example": {
  "inputs": {
   "bruttolohn": 6000.0,
   "qst_satz": 5.0,
   "anzahl_monatslohne": 13.0
  },
  "outputs": {
   "qst_monat": 300.0,
   "netto_monat": 5700.0,
   "qst_jahr": 3900.0
  }
 },
 "verification": "formula checked against independent test vectors; browser JS equals the reference evaluator",
 "commercial_action": {
  "type": "product_search",
  "label": "Passende Literatur finden",
  "product_category": "Fachliteratur und Büroordner",
  "store": "eBay.ch",
  "query_template": "Quellensteuer Schweiz Fachbuch",
  "search_url_template": "https://www.ebay.ch/sch/i.html?_nkw={q}",
  "example": {
   "query": "Quellensteuer Schweiz Fachbuch",
   "url": "https://www.ebay.ch/sch/i.html?_nkw=Quellensteuer%20Schweiz%20Fachbuch"
  },
  "bom": [
   {
    "slot": 1,
    "kind": "primary",
    "label": "Passend zum Ergebnis (Normgröße)",
    "query_template": "Quellensteuer Schweiz Fachbuch",
    "standard_size_step": 0,
    "search_url_template": "https://www.ebay.ch/sch/i.html?_nkw={q}",
    "example": {
     "query": "Quellensteuer Schweiz Fachbuch",
     "url": "https://www.ebay.ch/sch/i.html?_nkw=Quellensteuer%20Schweiz%20Fachbuch"
    }
   },
   {
    "slot": 2,
    "kind": "accessory",
    "label": "Montagezubehör / Messgerät",
    "query_template": "Ordner Lohnabrechnungen A4",
    "standard_size_step": 0,
    "search_url_template": "https://www.ebay.ch/sch/i.html?_nkw={q}",
    "example": {
     "query": "Ordner Lohnabrechnungen A4",
     "url": "https://www.ebay.ch/sch/i.html?_nkw=Ordner%20Lohnabrechnungen%20A4"
    }
   }
  ],
  "standard_series": null,
  "affiliate": false,
  "rel": "sponsored nofollow",
  "note": "Parts list (bom) in display order. Replace {placeholders} in query_template with the user's computed values (inputs or outputs); for placeholders listed in standard_series use the smallest series value >= the computed value, then move standard_size_step positions up the series; URL-encode the query and substitute {q} in search_url_template."
 },
 "api": {
  "endpoint": "https://fachrechner.com/api/v1/calc/bot_031",
  "method": "GET",
  "parameters": "input ids as query parameters (missing = default); response JSON with outputs",
  "free_calls_per_day": 10,
  "auth": null,
  "on_limit": "HTTP 402 daily_limit_reached (no paid tier; quota resets 00:00 UTC, Retry-After)",
  "pro_checkout": null,
  "expression_tree": "https://fachrechner.com/m2m/bot_031.json"
 }
}