@jjlmoya/utils-finance 1.28.0 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +3 -1
  3. package/src/entries.ts +7 -1
  4. package/src/index.ts +2 -1
  5. package/src/tests/locale_completeness.test.ts +2 -3
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/pesetaValue/bibliography.astro +6 -0
  8. package/src/tool/pesetaValue/bibliography.ts +16 -0
  9. package/src/tool/pesetaValue/component.astro +86 -0
  10. package/src/tool/pesetaValue/controller.ts +126 -0
  11. package/src/tool/pesetaValue/dom-views.ts +83 -0
  12. package/src/tool/pesetaValue/entry.ts +31 -0
  13. package/src/tool/pesetaValue/evaluator.ts +18 -0
  14. package/src/tool/pesetaValue/i18n/de.ts +54 -0
  15. package/src/tool/pesetaValue/i18n/en.ts +138 -0
  16. package/src/tool/pesetaValue/i18n/es.ts +54 -0
  17. package/src/tool/pesetaValue/i18n/fr.ts +54 -0
  18. package/src/tool/pesetaValue/i18n/id.ts +48 -0
  19. package/src/tool/pesetaValue/i18n/it.ts +54 -0
  20. package/src/tool/pesetaValue/i18n/ja.ts +48 -0
  21. package/src/tool/pesetaValue/i18n/ko.ts +48 -0
  22. package/src/tool/pesetaValue/i18n/nl.ts +48 -0
  23. package/src/tool/pesetaValue/i18n/pl.ts +48 -0
  24. package/src/tool/pesetaValue/i18n/pt.ts +48 -0
  25. package/src/tool/pesetaValue/i18n/ru.ts +48 -0
  26. package/src/tool/pesetaValue/i18n/sv.ts +48 -0
  27. package/src/tool/pesetaValue/i18n/tr.ts +48 -0
  28. package/src/tool/pesetaValue/i18n/zh.ts +48 -0
  29. package/src/tool/pesetaValue/index.ts +11 -0
  30. package/src/tool/pesetaValue/logic.test.ts +63 -0
  31. package/src/tool/pesetaValue/logic.ts +162 -0
  32. package/src/tool/pesetaValue/pesetas-to-euros-with-inflation-calculator.css +564 -0
  33. package/src/tool/pesetaValue/seo.astro +15 -0
  34. package/src/tool/pesetaValue/storage.ts +25 -0
  35. package/src/tool/pesetaValue/ui.ts +33 -0
  36. package/src/tool/salaryEmployerCost/bibliography.astro +6 -0
  37. package/src/tool/salaryEmployerCost/bibliography.ts +16 -0
  38. package/src/tool/salaryEmployerCost/component.astro +130 -0
  39. package/src/tool/salaryEmployerCost/controller.ts +129 -0
  40. package/src/tool/salaryEmployerCost/dom-views.ts +87 -0
  41. package/src/tool/salaryEmployerCost/entry.ts +31 -0
  42. package/src/tool/salaryEmployerCost/evaluator.ts +9 -0
  43. package/src/tool/salaryEmployerCost/i18n/de.ts +159 -0
  44. package/src/tool/salaryEmployerCost/i18n/en.ts +148 -0
  45. package/src/tool/salaryEmployerCost/i18n/es.ts +148 -0
  46. package/src/tool/salaryEmployerCost/i18n/fr.ts +159 -0
  47. package/src/tool/salaryEmployerCost/i18n/id.ts +159 -0
  48. package/src/tool/salaryEmployerCost/i18n/it.ts +159 -0
  49. package/src/tool/salaryEmployerCost/i18n/ja.ts +159 -0
  50. package/src/tool/salaryEmployerCost/i18n/ko.ts +159 -0
  51. package/src/tool/salaryEmployerCost/i18n/nl.ts +159 -0
  52. package/src/tool/salaryEmployerCost/i18n/pl.ts +159 -0
  53. package/src/tool/salaryEmployerCost/i18n/pt.ts +159 -0
  54. package/src/tool/salaryEmployerCost/i18n/ru.ts +159 -0
  55. package/src/tool/salaryEmployerCost/i18n/sv.ts +159 -0
  56. package/src/tool/salaryEmployerCost/i18n/tr.ts +159 -0
  57. package/src/tool/salaryEmployerCost/i18n/zh.ts +159 -0
  58. package/src/tool/salaryEmployerCost/index.ts +11 -0
  59. package/src/tool/salaryEmployerCost/logic.test.ts +88 -0
  60. package/src/tool/salaryEmployerCost/logic.ts +133 -0
  61. package/src/tool/salaryEmployerCost/seo.astro +15 -0
  62. package/src/tool/salaryEmployerCost/spain-gross-net-salary-employer-cost-calculator.css +522 -0
  63. package/src/tool/salaryEmployerCost/storage.ts +35 -0
  64. package/src/tool/salaryEmployerCost/ui.ts +41 -0
  65. package/src/tools.ts +3 -3
@@ -0,0 +1,159 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { SalaryEmployerCostUI } from '../ui';
5
+
6
+ const slug = "kalkulator-wynagrodzenia-brutto-netto-koszt-pracodawcy-hiszpania";
7
+ const title = "Kalkulator Wynagrodzenia Brutto, Netto i Kosztu Pracodawcy w Hiszpanii 2026";
8
+ const description = "Oblicz wynagrodzenie netto, zaliczkę IRPF, składki pracownika i całkowity koszt pracodawcy w Hiszpanii według zasad na 2026 rok.";
9
+
10
+ const faq = [
11
+ {
12
+ "question": "Ile kosztuje pracownik firmę w Hiszpanii?",
13
+ "answer": "Firma płaci wynagrodzenie brutto plus składki na ubezpieczenie społeczne pracodawcy."
14
+ },
15
+ {
16
+ "question": "Jak obliczyć wynagrodzenie brutto na netto w Hiszpanii?",
17
+ "answer": "Od brutto odejmij składki ZUS pracownika i zaliczkę IRPF."
18
+ },
19
+ {
20
+ "question": "Czy wybór 12 lub 14 wypłat zmienia roczne wynagrodzenie?",
21
+ "answer": "Nie. Kalkulator zachowuje tę samą roczną kwotę brutto."
22
+ },
23
+ {
24
+ "question": "Jakie składki ZUS na 2026 rok są uwzględnione?",
25
+ "answer": "Obejmuje ubezpieczenie chorobowe, bezrobocie, szkolenia, MEI, FOGASA i wypadkowe."
26
+ },
27
+ {
28
+ "question": "Co dzieje się po przekroczeniu maksymalnej podstawy składek?",
29
+ "answer": "Powyżej maksymalnej bazy miesięcznej w 2026 r. (5 101,20 €) obowiązuje składka solidarnościowa."
30
+ },
31
+ {
32
+ "question": "Czy kalkulator działa poza Hiszpanią?",
33
+ "answer": "Nie. Dotyczy wyłącznie przepisów hiszpańskich na 2026 r."
34
+ },
35
+ {
36
+ "question": "Czy dane o wynagrodzeniu są przesyłane na serwer?",
37
+ "answer": "Nie. Wszystkie obliczenia odbywają się w przeglądarce."
38
+ }
39
+ ];
40
+
41
+ const howTo = [
42
+ {
43
+ "name": "Wprowadź wynagrodzenie brutto",
44
+ "text": "Wybierz tryb roczny lub miesięczny i wpisz kwotę."
45
+ },
46
+ {
47
+ "name": "Skonfiguruj warunki hiszpańskie",
48
+ "text": "Wybierz 12/14 wypłat, rodzaj umowy, IRPF i składkę wypadkową."
49
+ },
50
+ {
51
+ "name": "Sprawdź podział wynagrodzenia",
52
+ "text": "Porównaj netto, potrącenia pracownika i składki pracodawcy."
53
+ },
54
+ {
55
+ "name": "Zmień okres wyników",
56
+ "text": "Przełączaj między sumami rocznymi a średnią na wypłatę."
57
+ }
58
+ ];
59
+
60
+ const faqSchema: WithContext<FAQPage> = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'FAQPage',
63
+ mainEntity: faq.map((item) => ({
64
+ '@type': 'Question',
65
+ name: item.question,
66
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
67
+ })),
68
+ };
69
+
70
+ const howToSchema: WithContext<HowTo> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'HowTo',
73
+ name: title,
74
+ description,
75
+ step: howTo.map((step, index) => ({
76
+ '@type': 'HowToStep',
77
+ position: index + 1,
78
+ name: step.name,
79
+ text: step.text,
80
+ })),
81
+ };
82
+
83
+ const appSchema: WithContext<SoftwareApplication> = {
84
+ '@context': 'https://schema.org',
85
+ '@type': 'SoftwareApplication',
86
+ name: title,
87
+ description,
88
+ applicationCategory: 'FinanceApplication',
89
+ operatingSystem: 'All',
90
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
91
+ inLanguage: "pl",
92
+ };
93
+
94
+ export const content: ToolLocaleContent<SalaryEmployerCostUI> = {
95
+ slug,
96
+ title,
97
+ description,
98
+ ui: {
99
+ "labelGrossSalary": "Sygnał wynagrodzenia brutto",
100
+ "labelGrossSalaryHint": "Kwota wynagrodzenia",
101
+ "labelAnnual": "Rocznie",
102
+ "labelMonthly": "Miesięcznie",
103
+ "labelPaySchedule": "Harmonogram wypłat",
104
+ "labelTwelvePayments": "12 wypłat",
105
+ "labelFourteenPayments": "14 wypłat",
106
+ "labelContract": "Rodzaj umowy",
107
+ "labelPermanent": "Na czas nieokreślony",
108
+ "labelTemporary": "Na czas określony",
109
+ "labelIrpfRate": "Zaliczka na podatek IRPF",
110
+ "labelIrpfHint": "Użyj stawki z urzędu skarbowego, oferty lub paska wypłaty",
111
+ "labelRiskRate": "Składka na wypadki przy pracy (AT i EP)",
112
+ "labelRiskHint": "Stawka wypadkowa pracodawcy dla danego stanowiska",
113
+ "labelOfficePreset": "Biuro 1,50%",
114
+ "labelTradePreset": "Handel / Sprzedaż 2,00%",
115
+ "labelConstructionPreset": "Budownictwo 6,70%",
116
+ "labelNetCore": "Rdzeń wynagrodzenia netto",
117
+ "labelEmployeeDeductions": "Potrącenia pracownika",
118
+ "labelDeductionsFormula": "IRPF plus ubezpieczenie społeczne pracownika",
119
+ "labelEmployerHalo": "Aura składek pracodawcy",
120
+ "labelEmployerCost": "Całkowity koszt pracodawcy",
121
+ "labelAnnualView": "Widok roczny",
122
+ "labelPerPaymentView": "Średnia na wypłatę",
123
+ "labelGross": "Wynagrodzenie brutto",
124
+ "labelIrpf": "Zaliczka IRPF",
125
+ "labelEmployeeSocialSecurity": "Ubezpieczenie społeczne pracownika",
126
+ "labelContributionBase": "Miesięczna podstawa wymiaru składek",
127
+ "labelCostMultiplier": "Mnożnik kosztów w stosunku do brutto",
128
+ "labelWorkerKeeps": "Udział netto w całkowitym koszcie",
129
+ "labelLeanGap": "Kompaktowa aura kosztowa",
130
+ "labelTypicalGap": "Standardowa aura kosztowa",
131
+ "labelWideGap": "Rozszerzona aura kosztowa",
132
+ "labelModelScope": "Tylko Hiszpania. System Ogólny 2026, pełny wymiar czasu pracy. Wyniki są szacunkowe.",
133
+ "labelReset": "Zresetuj przykład",
134
+ "labelInvalid": "Wprowadź prawidłowe wynagrodzenie roczne i zachowaj stawki w dozwolonym zakresie.",
135
+ "labelMinimumSalary": "Model rozpoczyna się od płacy minimalnej w Hiszpanii w 2026 r. (17 094 €/rok).",
136
+ "labelPrivacy": "Obliczenia wykonywane lokalnie w przeglądarce"
137
+ },
138
+ seo: [
139
+ { type: 'title', text: "Od brutto do rzeczywistego kosztu firmy w Hiszpanii", level: 2 },
140
+ { type: 'paragraph', html: "Oblicz wynagrodzenie netto, zaliczkę IRPF, składki pracownika i całkowity koszt pracodawcy w Hiszpanii według zasad na 2026 rok." },
141
+ { type: 'title', text: "Wzór na koszt pracodawcy w Hiszpanii", level: 2 },
142
+ { type: 'paragraph', html: "Firma płaci wynagrodzenie brutto plus składki na ubezpieczenie społeczne pracodawcy." },
143
+ { type: 'table', headers: ['Layer', 'Details'], rows: [['Net', "Rdzeń wynagrodzenia netto"], ['Employer Cost', "Całkowity koszt pracodawcy"]] },
144
+ { type: 'title', text: "Stawki hiszpańskiego ZUS na 2026 rok", level: 2 },
145
+ { type: 'paragraph', html: "Obejmuje ubezpieczenie chorobowe, bezrobocie, szkolenia, MEI, FOGASA i wypadkowe." },
146
+ { type: 'table', headers: ['Preset', 'Rate'], rows: [["Biuro 1,50%", '1.50%'], ["Handel / Sprzedaż 2,00%", '2.00%'], ["Budownictwo 6,70%", '6.70%']] },
147
+ { type: 'title', text: "Maksymalne podstawy i wysokie zarobki", level: 2 },
148
+ { type: 'paragraph', html: "Powyżej maksymalnej bazy miesięcznej w 2026 r. (5 101,20 €) obowiązuje składka solidarnościowa." },
149
+ { type: 'title', text: "Różnica między 12 a 14 wypłatami", level: 2 },
150
+ { type: 'paragraph', html: "Nie. Kalkulator zachowuje tę samą roczną kwotę brutto." },
151
+ { type: 'tip', title: "Harmonogram wypłat", html: "Wybierz 12/14 wypłat, rodzaj umowy, IRPF i składkę wypadkową." },
152
+ { type: 'title', text: "Ograniczenia hiszpańskiego kalkulatora płac", level: 2 },
153
+ { type: 'paragraph', html: "Tylko Hiszpania. System Ogólny 2026, pełny wymiar czasu pracy. Wyniki są szacunkowe." },
154
+ ],
155
+ faq,
156
+ bibliography,
157
+ howTo,
158
+ schemas: [faqSchema, howToSchema, appSchema],
159
+ };
@@ -0,0 +1,159 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { SalaryEmployerCostUI } from '../ui';
5
+
6
+ const slug = "calculadora-salario-bruto-liquido-custo-empresa-espanha";
7
+ const title = "Calculadora de Salário Bruto, Líquido e Custo Empresa em Espanha 2026";
8
+ const description = "Calcule o salário líquido, retenção de IRPF, contribuições do trabalhador e o custo total da empresa em Espanha sob as regras de 2026.";
9
+
10
+ const faq = [
11
+ {
12
+ "question": "Quanto custa um trabalhador a uma empresa em Espanha?",
13
+ "answer": "A empresa paga o salário bruto mais as suas contribuições para a Segurança Social."
14
+ },
15
+ {
16
+ "question": "Como calcular o salário bruto para líquido em Espanha?",
17
+ "answer": "Subtraia ao bruto anual a Segurança Social do trabalhador e a retenção de IRPF."
18
+ },
19
+ {
20
+ "question": "Escolher 12 ou 14 pagamentos altera o salário anual?",
21
+ "answer": "Não. A calculadora mantém o mesmo valor bruto anual."
22
+ },
23
+ {
24
+ "question": "Que taxas da Segurança Social para 2026 estão incluídas?",
25
+ "answer": "Inclui contingências comuns, desemprego, formação, MEI, FOGASA e acidentes de trabalho."
26
+ },
27
+ {
28
+ "question": "O que acontece acima da base máxima de contribuição?",
29
+ "answer": "Acima do limite máximo mensal de 2026 (5.101,20 €) aplica-se a contribuição de solidariedade."
30
+ },
31
+ {
32
+ "question": "Esta calculadora é válida fora de Espanha?",
33
+ "answer": "Não. Está limitada ao sistema espanhol de 2026."
34
+ },
35
+ {
36
+ "question": "Os dados salariais são enviados para algum servidor?",
37
+ "answer": "Não. Todos os cálculos são feitos localmente no navegador."
38
+ }
39
+ ];
40
+
41
+ const howTo = [
42
+ {
43
+ "name": "Insira o salário bruto",
44
+ "text": "Escolha a opção anual ou mensal e introduza o valor bruto."
45
+ },
46
+ {
47
+ "name": "Configure as condições espanholas",
48
+ "text": "Selecione 12/14 pagamentos, tipo de contrato, IRPF e prémio de acidentes."
49
+ },
50
+ {
51
+ "name": "Consulte a estrutura do salário",
52
+ "text": "Compare o salário líquido, deduções do trabalhador e contribuição patronal."
53
+ },
54
+ {
55
+ "name": "Altere o período de exibição",
56
+ "text": "Visualize os totais anuais ou a média por pagamento."
57
+ }
58
+ ];
59
+
60
+ const faqSchema: WithContext<FAQPage> = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'FAQPage',
63
+ mainEntity: faq.map((item) => ({
64
+ '@type': 'Question',
65
+ name: item.question,
66
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
67
+ })),
68
+ };
69
+
70
+ const howToSchema: WithContext<HowTo> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'HowTo',
73
+ name: title,
74
+ description,
75
+ step: howTo.map((step, index) => ({
76
+ '@type': 'HowToStep',
77
+ position: index + 1,
78
+ name: step.name,
79
+ text: step.text,
80
+ })),
81
+ };
82
+
83
+ const appSchema: WithContext<SoftwareApplication> = {
84
+ '@context': 'https://schema.org',
85
+ '@type': 'SoftwareApplication',
86
+ name: title,
87
+ description,
88
+ applicationCategory: 'FinanceApplication',
89
+ operatingSystem: 'All',
90
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
91
+ inLanguage: "pt",
92
+ };
93
+
94
+ export const content: ToolLocaleContent<SalaryEmployerCostUI> = {
95
+ slug,
96
+ title,
97
+ description,
98
+ ui: {
99
+ "labelGrossSalary": "Sinal de salário bruto",
100
+ "labelGrossSalaryHint": "Valor do salário",
101
+ "labelAnnual": "Anual",
102
+ "labelMonthly": "Mensal",
103
+ "labelPaySchedule": "Calendário de pagamentos",
104
+ "labelTwelvePayments": "12 pagamentos",
105
+ "labelFourteenPayments": "14 pagamentos",
106
+ "labelContract": "Tipo de contrato",
107
+ "labelPermanent": "Sem termo (Indefinido)",
108
+ "labelTemporary": "A termo (Temporário)",
109
+ "labelIrpfRate": "Retenção de IRPF",
110
+ "labelIrpfHint": "Use a taxa da Autoridade Tributária, oferta ou recibo de vencimento",
111
+ "labelRiskRate": "Prémio de acidentes de trabalho (AT e EP)",
112
+ "labelRiskHint": "Taxa patronal para acidentes de trabalho e doenças profissionais",
113
+ "labelOfficePreset": "Escritório 1,50%",
114
+ "labelTradePreset": "Comercial / Vendas 2,00%",
115
+ "labelConstructionPreset": "Construção 6,70%",
116
+ "labelNetCore": "Núcleo do salário líquido",
117
+ "labelEmployeeDeductions": "Deduções do trabalhador",
118
+ "labelDeductionsFormula": "IRPF mais Segurança Social do trabalhador",
119
+ "labelEmployerHalo": "Halo de contribuição patronal",
120
+ "labelEmployerCost": "Custo total da empresa",
121
+ "labelAnnualView": "Vista anual",
122
+ "labelPerPaymentView": "Média por pagamento",
123
+ "labelGross": "Salário bruto",
124
+ "labelIrpf": "Retenção IRPF",
125
+ "labelEmployeeSocialSecurity": "Segurança Social do trabalhador",
126
+ "labelContributionBase": "Base mensal de tributação",
127
+ "labelCostMultiplier": "Multiplicador de custo face ao bruto",
128
+ "labelWorkerKeeps": "Percentagem líquida do custo total",
129
+ "labelLeanGap": "Halo de custo reduzido",
130
+ "labelTypicalGap": "Halo de custo habitual",
131
+ "labelWideGap": "Halo de custo alargado",
132
+ "labelModelScope": "Apenas Espanha. Regime Geral 2026, tempo inteiro e salário em dinheiro. Os resultados são estimativas.",
133
+ "labelReset": "Restabelecer exemplo",
134
+ "labelInvalid": "Insira um salário bruto anual válido e mantenha as taxas dentro dos limites.",
135
+ "labelMinimumSalary": "O modelo parte do salário mínimo interprofissional espanhol de 2026 (17.094 €/ano).",
136
+ "labelPrivacy": "Calculado localmente no seu navegador"
137
+ },
138
+ seo: [
139
+ { type: 'title', text: "Do salário bruto ao custo real da empresa em Espanha", level: 2 },
140
+ { type: 'paragraph', html: "Calcule o salário líquido, retenção de IRPF, contribuições do trabalhador e o custo total da empresa em Espanha sob as regras de 2026." },
141
+ { type: 'title', text: "Fórmula do custo patronal em Espanha", level: 2 },
142
+ { type: 'paragraph', html: "A empresa paga o salário bruto mais as suas contribuições para a Segurança Social." },
143
+ { type: 'table', headers: ['Layer', 'Details'], rows: [['Net', "Núcleo do salário líquido"], ['Employer Cost', "Custo total da empresa"]] },
144
+ { type: 'title', text: "Taxas da Segurança Social espanhola para 2026", level: 2 },
145
+ { type: 'paragraph', html: "Inclui contingências comuns, desemprego, formação, MEI, FOGASA e acidentes de trabalho." },
146
+ { type: 'table', headers: ['Preset', 'Rate'], rows: [["Escritório 1,50%", '1.50%'], ["Comercial / Vendas 2,00%", '2.00%'], ["Construção 6,70%", '6.70%']] },
147
+ { type: 'title', text: "Tectos de contribuição e salários elevados", level: 2 },
148
+ { type: 'paragraph', html: "Acima do limite máximo mensal de 2026 (5.101,20 €) aplica-se a contribuição de solidariedade." },
149
+ { type: 'title', text: "Diferença entre 12 e 14 pagamentos", level: 2 },
150
+ { type: 'paragraph', html: "Não. A calculadora mantém o mesmo valor bruto anual." },
151
+ { type: 'tip', title: "Calendário de pagamentos", html: "Selecione 12/14 pagamentos, tipo de contrato, IRPF e prémio de acidentes." },
152
+ { type: 'title', text: "Limites desta estimativa salarial espanhola", level: 2 },
153
+ { type: 'paragraph', html: "Apenas Espanha. Regime Geral 2026, tempo inteiro e salário em dinheiro. Os resultados são estimativas." },
154
+ ],
155
+ faq,
156
+ bibliography,
157
+ howTo,
158
+ schemas: [faqSchema, howToSchema, appSchema],
159
+ };
@@ -0,0 +1,159 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { SalaryEmployerCostUI } from '../ui';
5
+
6
+ const slug = 'kalkulyator-zarplaty-brutto-netto-rashody-rabotodatelya-ispaniya';
7
+ const title = "Калькулятор зарплаты брутто, нетто и расходов работодателя в Испании 2026";
8
+ const description = "Рассчитайте чистую зарплату, удержание IRPF, взносы работника и полные расходы работодателя в Испании по правилам 2026 года.";
9
+
10
+ const faq = [
11
+ {
12
+ "question": "Сколько стоит сотрудник компании в Испании?",
13
+ "answer": "Компания платит зарплату брутто плюс свои взносы в социальное страхование."
14
+ },
15
+ {
16
+ "question": "Как рассчитать чистую зарплату из брутто в Испании?",
17
+ "answer": "Из годового брутто вычитаются взносы работника в соцстрах и налог IRPF."
18
+ },
19
+ {
20
+ "question": "Меняет ли выбор 12 или 14 выплат годовую зарплату?",
21
+ "answer": "Нет. Калькулятор сохраняет ту же годовую сумму брутто."
22
+ },
23
+ {
24
+ "question": "Какие ставки соцстрахования 2026 года включены?",
25
+ "answer": "Включены взносы на больничные, безработицу, обучение, MEI, FOGASA и несчастные случаи."
26
+ },
27
+ {
28
+ "question": "Что происходит при превышении максимальной базы взносов?",
29
+ "answer": "Сверх максимальной базы 2026 года (5 101,20 €/мес) применяется солидарный взнос."
30
+ },
31
+ {
32
+ "question": "Применим ли этот калькулятор за пределами Испании?",
33
+ "answer": "Нет. Он предназначен только для Испании на 2026 год."
34
+ },
35
+ {
36
+ "question": "Отправляются ли данные о зарплате на сервер?",
37
+ "answer": "Нет. Все расчеты выполняются локально в браузере."
38
+ }
39
+ ];
40
+
41
+ const howTo = [
42
+ {
43
+ "name": "Введите зарплату брутто",
44
+ "text": "Выберите годовой или месячный ввод и укажите сумму."
45
+ },
46
+ {
47
+ "name": "Укажите параметры испанской зарплаты",
48
+ "text": "Выберите 12/14 выплат, тип контракта, налог IRPF и взнос от несчастных случаев."
49
+ },
50
+ {
51
+ "name": "Изучите структуру зарплаты",
52
+ "text": "Сравните нетто, удержания работника и взносы работодателя."
53
+ },
54
+ {
55
+ "name": "Переключите период отображения",
56
+ "text": "Просматривайте годовые итоги или среднее значение за выплату."
57
+ }
58
+ ];
59
+
60
+ const faqSchema: WithContext<FAQPage> = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'FAQPage',
63
+ mainEntity: faq.map((item) => ({
64
+ '@type': 'Question',
65
+ name: item.question,
66
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
67
+ })),
68
+ };
69
+
70
+ const howToSchema: WithContext<HowTo> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'HowTo',
73
+ name: title,
74
+ description,
75
+ step: howTo.map((step, index) => ({
76
+ '@type': 'HowToStep',
77
+ position: index + 1,
78
+ name: step.name,
79
+ text: step.text,
80
+ })),
81
+ };
82
+
83
+ const appSchema: WithContext<SoftwareApplication> = {
84
+ '@context': 'https://schema.org',
85
+ '@type': 'SoftwareApplication',
86
+ name: title,
87
+ description,
88
+ applicationCategory: 'FinanceApplication',
89
+ operatingSystem: 'All',
90
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
91
+ inLanguage: "ru",
92
+ };
93
+
94
+ export const content: ToolLocaleContent<SalaryEmployerCostUI> = {
95
+ slug,
96
+ title,
97
+ description,
98
+ ui: {
99
+ "labelGrossSalary": "Показатель зарплаты брутто",
100
+ "labelGrossSalaryHint": "Сумма зарплаты",
101
+ "labelAnnual": "В год",
102
+ "labelMonthly": "В месяц",
103
+ "labelPaySchedule": "График выплат",
104
+ "labelTwelvePayments": "12 выплат",
105
+ "labelFourteenPayments": "14 выплат",
106
+ "labelContract": "Тип контракта",
107
+ "labelPermanent": "Бессрочный",
108
+ "labelTemporary": "Временный",
109
+ "labelIrpfRate": "Удержание подоходного налога (IRPF)",
110
+ "labelIrpfHint": "Используйте ставку налоговой службы, оффера или расчетного листка",
111
+ "labelRiskRate": "Страховой взнос от несчастных случаев (AT и EP)",
112
+ "labelRiskHint": "Ставка работодателя от несчастных случаев на производстве",
113
+ "labelOfficePreset": "Офис 1,50%",
114
+ "labelTradePreset": "Торговля / Продажи 2,00%",
115
+ "labelConstructionPreset": "Строительство 6,70%",
116
+ "labelNetCore": "Ядро чистой зарплаты (нетто)",
117
+ "labelEmployeeDeductions": "Удержания работника",
118
+ "labelDeductionsFormula": "IRPF плюс социальное страхование работника",
119
+ "labelEmployerHalo": "Взносы работодателя",
120
+ "labelEmployerCost": "Общие расходы работодателя",
121
+ "labelAnnualView": "За год",
122
+ "labelPerPaymentView": "В среднем за выплату",
123
+ "labelGross": "Зарплата брутто",
124
+ "labelIrpf": "Удержание IRPF",
125
+ "labelEmployeeSocialSecurity": "Соцстрахование работника",
126
+ "labelContributionBase": "Ежемесячная база взносов",
127
+ "labelCostMultiplier": "Коэффициент расходов к брутто",
128
+ "labelWorkerKeeps": "Доля нетто от общих расходов",
129
+ "labelLeanGap": "Минимальный уровень расходов",
130
+ "labelTypicalGap": "Стандартный уровень расходов",
131
+ "labelWideGap": "Расширенный уровень расходов",
132
+ "labelModelScope": "Только Испания. Общий режим 2026 года, полная занятость. Расчеты являются ориентировочными.",
133
+ "labelReset": "Сбросить пример",
134
+ "labelInvalid": "Введите корректную годовую зарплату и соблюдайте допустимые диапазоны ставок.",
135
+ "labelMinimumSalary": "Минимальная зарплата 2026 года в Испании составляет 17 094 € в год.",
136
+ "labelPrivacy": "Рассчитывается локально в вашем браузере"
137
+ },
138
+ seo: [
139
+ { type: 'title', text: "От зарплаты брутто к реальным расходам компании в Испании", level: 2 },
140
+ { type: 'paragraph', html: "Рассчитайте чистую зарплату, удержание IRPF, взносы работника и полные расходы работодателя в Испании по правилам 2026 года." },
141
+ { type: 'title', text: "Формула расходов работодателя в Испании", level: 2 },
142
+ { type: 'paragraph', html: "Компания платит зарплату брутто плюс свои взносы в социальное страхование." },
143
+ { type: 'table', headers: ['Layer', 'Details'], rows: [['Net', "Ядро чистой зарплаты (нетто)"], ['Employer Cost', "Общие расходы работодателя"]] },
144
+ { type: 'title', text: "Ставки социального страхования в Испании на 2026 год", level: 2 },
145
+ { type: 'paragraph', html: "Включены взносы на больничные, безработицу, обучение, MEI, FOGASA и несчастные случаи." },
146
+ { type: 'table', headers: ['Preset', 'Rate'], rows: [["Офис 1,50%", '1.50%'], ["Торговля / Продажи 2,00%", '2.00%'], ["Строительство 6,70%", '6.70%']] },
147
+ { type: 'title', text: "Лимиты взносов и высокие зарплаты", level: 2 },
148
+ { type: 'paragraph', html: "Сверх максимальной базы 2026 года (5 101,20 €/мес) применяется солидарный взнос." },
149
+ { type: 'title', text: "Разница между 12 и 14 выплатами", level: 2 },
150
+ { type: 'paragraph', html: "Нет. Калькулятор сохраняет ту же годовую сумму брутто." },
151
+ { type: 'tip', title: "График выплат", html: "Выберите 12/14 выплат, тип контракта, налог IRPF и взнос от несчастных случаев." },
152
+ { type: 'title', text: "Ограничения данного расчета зарплаты в Испании", level: 2 },
153
+ { type: 'paragraph', html: "Только Испания. Общий режим 2026 года, полная занятость. Расчеты являются ориентировочными." },
154
+ ],
155
+ faq,
156
+ bibliography,
157
+ howTo,
158
+ schemas: [faqSchema, howToSchema, appSchema],
159
+ };
@@ -0,0 +1,159 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { SalaryEmployerCostUI } from '../ui';
5
+
6
+ const slug = "spanien-brutto-netto-lon-arbetsgivarkostnad-kalkylator";
7
+ const title = "Spanien Brutto Netto Lön & Arbetsgivarkostnad Kalkylator 2026";
8
+ const description = "Beräkna nettolön, IRPF-skatt, arbetaravgifter och den totala arbetsgivarkostnaden i Spanien enligt 2026 års regler.";
9
+
10
+ const faq = [
11
+ {
12
+ "question": "Hur mycket kostar en anställd ett företag i Spanien?",
13
+ "answer": "Företaget betalar bruttolönen plus sina arbetsgivaravgifter till socialförsäkringen."
14
+ },
15
+ {
16
+ "question": "Hur beräknar jag brutto till nettolön i Spanien?",
17
+ "answer": "Dra av arbetarens socialförsäkringsavgifter och IRPF-skatt från årsbruttot."
18
+ },
19
+ {
20
+ "question": "Ändras årslönen om man väljer 12 eller 14 utbetalningar?",
21
+ "answer": "Nej. Kalkylatorn behåller samma bruttobelopp per år."
22
+ },
23
+ {
24
+ "question": "Vilka socialförsäkringsavgifter ingår för 2026?",
25
+ "answer": "Inkluderar sjukförsäkring, arbetslöshet, utbildning, MEI, FOGASA och arbetsskadeförsäkring."
26
+ },
27
+ {
28
+ "question": "Vad händer över den maximala avgiftsgrundande basen?",
29
+ "answer": "Över det månatliga taket för 2026 (5 101,20 €) tillämpas en progressiv mecenat-/solidaritetsavgift."
30
+ },
31
+ {
32
+ "question": "Gäller denna kalkylator utanför Spanien?",
33
+ "answer": "Nej. Den är begränsad till det spanska systemet 2026."
34
+ },
35
+ {
36
+ "question": "Skickas löneuppgifter till någon server?",
37
+ "answer": "Nej. Alla beräkningar görs lokalt i din webbläsare."
38
+ }
39
+ ];
40
+
41
+ const howTo = [
42
+ {
43
+ "name": "Ange bruttolön",
44
+ "text": "Välj års- eller månadsbelopp och ange bruttolönen."
45
+ },
46
+ {
47
+ "name": "Ställ in spanska lönevillkor",
48
+ "text": "Välj 12/14 utbetalningar, anställningsform, IRPF och arbetsskadeavgift."
49
+ },
50
+ {
51
+ "name": "Granska lönestrukturen",
52
+ "text": "Jämför nettolön, arbetaravdrag och arbetsgivaravgifter."
53
+ },
54
+ {
55
+ "name": "Växla resultatperiod",
56
+ "text": "Visa årstotaler eller genomsnitt per utbetalning."
57
+ }
58
+ ];
59
+
60
+ const faqSchema: WithContext<FAQPage> = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'FAQPage',
63
+ mainEntity: faq.map((item) => ({
64
+ '@type': 'Question',
65
+ name: item.question,
66
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
67
+ })),
68
+ };
69
+
70
+ const howToSchema: WithContext<HowTo> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'HowTo',
73
+ name: title,
74
+ description,
75
+ step: howTo.map((step, index) => ({
76
+ '@type': 'HowToStep',
77
+ position: index + 1,
78
+ name: step.name,
79
+ text: step.text,
80
+ })),
81
+ };
82
+
83
+ const appSchema: WithContext<SoftwareApplication> = {
84
+ '@context': 'https://schema.org',
85
+ '@type': 'SoftwareApplication',
86
+ name: title,
87
+ description,
88
+ applicationCategory: 'FinanceApplication',
89
+ operatingSystem: 'All',
90
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
91
+ inLanguage: "sv",
92
+ };
93
+
94
+ export const content: ToolLocaleContent<SalaryEmployerCostUI> = {
95
+ slug,
96
+ title,
97
+ description,
98
+ ui: {
99
+ "labelGrossSalary": "Bruttolön signal",
100
+ "labelGrossSalaryHint": "Lönebelopp",
101
+ "labelAnnual": "Årlig",
102
+ "labelMonthly": "Månadsvis",
103
+ "labelPaySchedule": "Utbetalningsschema",
104
+ "labelTwelvePayments": "12 utbetalningar",
105
+ "labelFourteenPayments": "14 utbetalningar",
106
+ "labelContract": "Kontraktstyp",
107
+ "labelPermanent": "Tillsvidareanställning",
108
+ "labelTemporary": "Tidsbegränsad anställning",
109
+ "labelIrpfRate": "IRPF-skatteavdrag",
110
+ "labelIrpfHint": "Använd skattesats från skatteverket, erbjudande eller lönespecifikation",
111
+ "labelRiskRate": "Arbetsskadeförsäkring (AT & EP)",
112
+ "labelRiskHint": "Arbetsgivaravgift för arbetsskador och yrkessjukdomar",
113
+ "labelOfficePreset": "Kontor 1,50 %",
114
+ "labelTradePreset": "Handel / Försäljning 2,00 %",
115
+ "labelConstructionPreset": "Byggverksamhet 6,70 %",
116
+ "labelNetCore": "Nettolön kärna",
117
+ "labelEmployeeDeductions": "Arbetaravdrag",
118
+ "labelDeductionsFormula": "IRPF plus arbetarens socialförsäkring",
119
+ "labelEmployerHalo": "Arbetsgivaravgifter halo",
120
+ "labelEmployerCost": "Total arbetsgivarkostnad",
121
+ "labelAnnualView": "Årsvy",
122
+ "labelPerPaymentView": "Genomsnitt per utbetalning",
123
+ "labelGross": "Bruttolön",
124
+ "labelIrpf": "IRPF-skatt",
125
+ "labelEmployeeSocialSecurity": "Arbetarens socialförsäkring",
126
+ "labelContributionBase": "Månatlig avgiftsgrundande bas",
127
+ "labelCostMultiplier": "Kostnadsmultiplikator mot brutto",
128
+ "labelWorkerKeeps": "Nettoandel av totalkostnad",
129
+ "labelLeanGap": "Kompakt kostnadshalo",
130
+ "labelTypicalGap": "Typisk kostnadshalo",
131
+ "labelWideGap": "Utökad kostnadshalo",
132
+ "labelModelScope": "Endast Spanien. Allmänna systemet 2026, heltid. Resultaten är uppskattningar.",
133
+ "labelReset": "Återställ exempel",
134
+ "labelInvalid": "Ange en giltig bruttolön och håll skattesatser inom tillåtna gränser.",
135
+ "labelMinimumSalary": "Modellen startar från Spaniens minimilön 2026 (17 094 €/år).",
136
+ "labelPrivacy": "Beräknas lokalt i din webbläsare"
137
+ },
138
+ seo: [
139
+ { type: 'title', text: "Från bruttolön till den verkliga företagskostnaden i Spanien", level: 2 },
140
+ { type: 'paragraph', html: "Beräkna nettolön, IRPF-skatt, arbetaravgifter och den totala arbetsgivarkostnaden i Spanien enligt 2026 års regler." },
141
+ { type: 'title', text: "Formeln för arbetsgivarkostnad i Spanien", level: 2 },
142
+ { type: 'paragraph', html: "Företaget betalar bruttolönen plus sina arbetsgivaravgifter till socialförsäkringen." },
143
+ { type: 'table', headers: ['Layer', 'Details'], rows: [['Net', "Nettolön kärna"], ['Employer Cost', "Total arbetsgivarkostnad"]] },
144
+ { type: 'title', text: "Spanska socialförsäkringsavgifter för 2026", level: 2 },
145
+ { type: 'paragraph', html: "Inkluderar sjukförsäkring, arbetslöshet, utbildning, MEI, FOGASA och arbetsskadeförsäkring." },
146
+ { type: 'table', headers: ['Preset', 'Rate'], rows: [["Kontor 1,50 %", '1.50%'], ["Handel / Försäljning 2,00 %", '2.00%'], ["Byggverksamhet 6,70 %", '6.70%']] },
147
+ { type: 'title', text: "Avgiftstak och höga löner", level: 2 },
148
+ { type: 'paragraph', html: "Över det månatliga taket för 2026 (5 101,20 €) tillämpas en progressiv mecenat-/solidaritetsavgift." },
149
+ { type: 'title', text: "Skillnad mellan 12 och 14 utbetalningar", level: 2 },
150
+ { type: 'paragraph', html: "Nej. Kalkylatorn behåller samma bruttobelopp per år." },
151
+ { type: 'tip', title: "Utbetalningsschema", html: "Välj 12/14 utbetalningar, anställningsform, IRPF och arbetsskadeavgift." },
152
+ { type: 'title', text: "Begränsningar i denna spanska löneuppskattning", level: 2 },
153
+ { type: 'paragraph', html: "Endast Spanien. Allmänna systemet 2026, heltid. Resultaten är uppskattningar." },
154
+ ],
155
+ faq,
156
+ bibliography,
157
+ howTo,
158
+ schemas: [faqSchema, howToSchema, appSchema],
159
+ };