# Mehrwertsteuer Rechner 2026 - Next Steps & Testing Guide

**Last Updated:** 2026-01-21

## Overview

This document provides comprehensive manual testing instructions and deployment checklist for the Mehrwertsteuer Rechner 2026 update.

## Pre-Deployment Checklist

### Code Changes

- [x] Kleinunternehmerregelung thresholds updated to dual thresholds ✅
- [x] Threshold display updated in PHP and JS files ✅
- [x] All VAT rates verified (all unchanged for 2026) ✅
- [x] No console statements found ✅
- [x] Calculation logic reviewed and verified ✅
- [x] Test suite created and all tests passing (42/42) ✅

### Content Updates

- [x] All 10 FAQs reviewed and verified accurate ✅
- [x] Educational content verified ✅
- [x] Schema markup verified ✅
- [x] Kleinunternehmerregelung references updated ✅
- [x] Restaurant food VAT content verified (permanent 7% from 2026) ✅

### Documentation

- [x] Main documentation updated ✅
- [x] Research report updated ✅
- [x] Tool-by-tool analysis updated ✅
- [x] Update summary created ✅
- [x] Next steps document created ✅

## Manual Testing Checklist

### 1. Basic Calculation Testing

**Test Case 1.1: Netto → Brutto (Germany 19%)**
- [ ] Enter amount: 100€
- [ ] Select input type: Netto
- [ ] Select country: Germany
- [ ] Select VAT rate: 19% (standard)
- [ ] Verify brutto: 119€
- [ ] Verify MwSt: 19€
- [ ] Verify netto: 100€

**Test Case 1.2: Netto → Brutto (Germany 7%)**
- [ ] Enter amount: 100€
- [ ] Select input type: Netto
- [ ] Select country: Germany
- [ ] Select VAT rate: 7% (reduced)
- [ ] Verify brutto: 107€
- [ ] Verify MwSt: 7€
- [ ] Verify netto: 100€

**Test Case 1.3: Brutto → Netto (Germany 19%)**
- [ ] Enter amount: 119€
- [ ] Select input type: Brutto
- [ ] Select country: Germany
- [ ] Select VAT rate: 19%
- [ ] Verify netto: 100€
- [ ] Verify MwSt: 19€
- [ ] Verify brutto: 119€

**Test Case 1.4: Brutto → Netto (Germany 7%)**
- [ ] Enter amount: 107€
- [ ] Select input type: Brutto
- [ ] Select country: Germany
- [ ] Select VAT rate: 7%
- [ ] Verify netto: 100€
- [ ] Verify MwSt: 7€
- [ ] Verify brutto: 107€

**Test Case 1.5: Rounding Accuracy**
- [ ] Test with 100.50€ netto, 19% VAT
- [ ] Verify MwSt rounds correctly (19.10€)
- [ ] Verify brutto rounds correctly (119.60€)
- [ ] Test with 100.33€ brutto, 19% VAT
- [ ] Verify netto and MwSt calculate correctly

**Test Case 1.6: Different Countries**
- [ ] Test Austria (20%/10%)
- [ ] Test Switzerland (8.1%/2.6%)
- [ ] Verify rates display correctly
- [ ] Verify calculations are accurate for each country

### 2. Multi-Item Mode Testing

**Test Case 2.1: Single Item with Quantity**
- [ ] Enter item: 100€ netto, VAT 19%, quantity 2
- [ ] Verify item brutto: 238€ (200€ + 38€ VAT)
- [ ] Verify subtotal: 200€
- [ ] Verify total VAT: 38€
- [ ] Verify grand total: 238€

**Test Case 2.2: Multiple Items Same VAT Rate**
- [ ] Add item 1: 100€, 19%
- [ ] Add item 2: 200€, 19%
- [ ] Add item 3: 50€, 19%
- [ ] Verify subtotal: 350€
- [ ] Verify total VAT: 66.50€
- [ ] Verify grand total: 416.50€

**Test Case 2.3: Multiple Items Different VAT Rates**
- [ ] Add item 1: 100€, 19%
- [ ] Add item 2: 100€, 7%
- [ ] Verify VAT breakdown shows both rates
- [ ] Verify subtotal: 200€
- [ ] Verify total VAT: 26€
- [ ] Verify grand total: 226€

**Test Case 2.4: VAT Breakdown by Rate**
- [ ] Add multiple items with different rates (19%, 7%, 0%)
- [ ] Verify breakdown shows each rate separately
- [ ] Verify breakdown totals match grand total
- [ ] Verify breakdown is accurate

**Test Case 2.5: Zero Quantity**
- [ ] Add item with quantity: 0
- [ ] Verify item does not contribute to totals
- [ ] Verify subtotal, VAT, and grand total are 0

**Test Case 2.6: Multiple Quantities**
- [ ] Add item: 10€, 19%, quantity 5
- [ ] Add item: 20€, 7%, quantity 3
- [ ] Verify calculations: (10×5) + (20×3) = 110€ netto
- [ ] Verify VAT: (50×0.19) + (60×0.07) = 13.70€
- [ ] Verify grand total: 123.70€

### 3. Invoice Mode Testing

**Test Case 3.1: Single Item Invoice**
- [ ] Enter company details
- [ ] Enter customer details
- [ ] Add item: 1,000€, 19%
- [ ] Verify subtotal: 1,000€
- [ ] Verify VAT: 190€
- [ ] Verify grand total: 1,190€

**Test Case 3.2: Multiple Items Invoice**
- [ ] Add multiple items with different VAT rates
- [ ] Verify item totals calculate correctly
- [ ] Verify final totals are accurate
- [ ] Verify invoice displays correctly

**Test Case 3.3: Discounts and Charges**
- [ ] Add items
- [ ] Add discount: 10%
- [ ] Add additional charge: 50€
- [ ] Verify discount applied correctly
- [ ] Verify charge added correctly
- [ ] Verify final totals are accurate

**Test Case 3.4: Export Functionality**
- [ ] Generate invoice
- [ ] Test PDF export
- [ ] Test Excel/CSV export
- [ ] Verify email gating works
- [ ] Verify exported data is accurate

### 4. Country-Specific Testing

**Test Case 4.1: Germany Rates**
- [ ] Test 19% standard rate
- [ ] Test 7% reduced rate
- [ ] Verify threshold display: "25.000 € net (Vorjahr) / 100.000 € net (laufendes Jahr)"
- [ ] Verify calculations are accurate

**Test Case 4.2: Austria Rates**
- [ ] Test 20% standard rate
- [ ] Test 10% reduced rate
- [ ] Verify threshold display: "35.000 €"
- [ ] Verify calculations are accurate

**Test Case 4.3: Switzerland Rates**
- [ ] Test 8.1% standard rate
- [ ] Test 2.6% reduced rate
- [ ] Verify threshold display: "100.000 CHF"
- [ ] Verify calculations are accurate

**Test Case 4.4: Custom VAT Rates**
- [ ] Test custom VAT rate: 13% (Austria hotels)
- [ ] Test custom VAT rate: 3.8% (Switzerland accommodation)
- [ ] Verify custom rates calculate correctly
- [ ] Verify custom rates work in all modes

### 5. Kleinunternehmerregelung Testing

**Test Case 5.1: Threshold Display**
- [ ] Select country: Germany
- [ ] Verify threshold displays: "25.000 € net (Vorjahr) / 100.000 € net (laufendes Jahr)"
- [ ] Verify display is clear and understandable

**Test Case 5.2: FAQ Content**
- [ ] Read FAQ 5: "Was ist die Kleinunternehmerregelung?"
- [ ] Verify mentions dual thresholds
- [ ] Verify mentions NET amounts
- [ ] Verify mentions Fallbeileffekt
- [ ] Verify content matches schema FAQ

**Test Case 5.3: Educational Content**
- [ ] Review Kleinunternehmerregelung section
- [ ] Verify dual thresholds explained
- [ ] Verify Fallbeileffekt explained
- [ ] Verify NET vs GROSS clarification
- [ ] Verify benefits and disadvantages listed

### 6. Restaurant/Gastronomy Content Testing

**Test Case 6.1: Restaurant Food VAT**
- [ ] Review FAQ 3: "Wann gilt 7% Mehrwertsteuer?"
- [ ] Verify mentions "ab 2026 dauerhaft" (permanently from 2026)
- [ ] Review FAQ 7: "Wie funktioniert die Mehrwertsteuer in der Gastronomie?"
- [ ] Verify mentions permanent 7% rate
- [ ] Verify content is accurate

**Test Case 6.2: Gastronomy Section**
- [ ] Review gastronomy educational content
- [ ] Verify mentions "7% (ab 2026 dauerhaft)"
- [ ] Verify explains difference between food (7%) and drinks (19%)
- [ ] Verify content is current and accurate

### 7. Export Functionality Testing

**Test Case 7.1: PDF Export**
- [ ] Calculate results
- [ ] Click "Export as PDF"
- [ ] If first export: Enter email address
- [ ] Verify PDF generated successfully
- [ ] Verify PDF contains:
  - [ ] Calculation parameters
  - [ ] Results (netto, MwSt, brutto)
  - [ ] Correct VAT rates
  - [ ] Correct year (2026)
- [ ] Verify PDF formatting correct

**Test Case 7.2: CSV Export**
- [ ] Calculate results (multi-item mode)
- [ ] Click "Export as CSV"
- [ ] If first export: Enter email address
- [ ] Verify CSV downloaded successfully
- [ ] Open CSV in Excel/spreadsheet
- [ ] Verify CSV contains:
  - [ ] Headers
  - [ ] Item data
  - [ ] Totals
  - [ ] VAT breakdown
- [ ] Verify data matches calculator results

**Test Case 7.3: Excel Export**
- [ ] Generate invoice
- [ ] Click "Export as Excel"
- [ ] If first export: Enter email address
- [ ] Verify Excel file downloaded
- [ ] Open Excel file
- [ ] Verify invoice data is complete
- [ ] Verify formatting is correct

**Test Case 7.4: Email Gating**
- [ ] Attempt to export without email
- [ ] Verify email collection modal appears
- [ ] Enter email address
- [ ] Submit email
- [ ] Verify export proceeds after email collection
- [ ] Verify email stored correctly (if applicable)

### 8. Responsive Design Testing

**Test Case 8.1: Mobile View (< 640px)**
- [ ] Open page on mobile device/browser
- [ ] Verify layout adapts correctly
- [ ] Verify input fields usable
- [ ] Verify results display correctly
- [ ] Verify buttons accessible
- [ ] Verify modals work correctly

**Test Case 8.2: Tablet View (640px - 1024px)**
- [ ] Open page on tablet/browser
- [ ] Verify layout adapts correctly
- [ ] Verify optimal use of space
- [ ] Verify all features accessible

**Test Case 8.3: Desktop View (> 1024px)**
- [ ] Open page on desktop browser
- [ ] Verify full layout displays
- [ ] Verify optimal use of space
- [ ] Verify all features accessible

### 9. Schema Validation Testing

**Test Case 9.1: Google Rich Results Test**
- [ ] Navigate to: https://search.google.com/test/rich-results
- [ ] Enter URL: https://www.ordio.com/tools/mehrwertsteuer-rechner
- [ ] Run test
- [ ] Verify WebPage schema validates
- [ ] Verify FAQPage schema validates
- [ ] Verify no errors or warnings

**Test Case 9.2: Schema.org Validator**
- [ ] Use Schema.org validator: https://validator.schema.org/
- [ ] Enter URL or paste schema JSON
- [ ] Verify all schemas validate
- [ ] Verify no errors

### 10. Content Verification Testing

**Test Case 10.1: Kleinunternehmerregelung References**
- [ ] Search page for old threshold references (should only show in updated context)
- [ ] Verify all references show dual thresholds
- [ ] Verify NET amounts mentioned
- [ ] Verify Fallbeileffekt explained

**Test Case 10.2: VAT Rates**
- [ ] Verify all displayed VAT rates match 2026 law:
  - [ ] Germany: 19%/7%
  - [ ] Austria: 20%/10%
  - [ ] Switzerland: 8.1%/2.6%

**Test Case 10.3: FAQ Accuracy**
- [ ] Read all 10 FAQs
- [ ] Verify answers accurate and current
- [ ] Verify examples calculate correctly
- [ ] Verify links work (if any)
- [ ] Verify Kleinunternehmerregelung FAQs updated

**Test Case 10.4: Educational Content**
- [ ] Review educational sections
- [ ] Verify VAT explanations accurate
- [ ] Verify Kleinunternehmerregelung explanations accurate
- [ ] Verify restaurant/gastronomy content mentions permanent 7% rate
- [ ] Verify formula explanations correct

### 11. Performance Testing

**Test Case 11.1: Page Load Performance**
- [ ] Open page in browser
- [ ] Check Network tab in DevTools
- [ ] Verify page loads < 3 seconds
- [ ] Verify LCP (Largest Contentful Paint) < 2.5s
- [ ] Verify no console errors

**Test Case 11.2: Calculation Performance**
- [ ] Enter complex scenario (multi-item mode, 10+ items)
- [ ] Click calculate
- [ ] Verify calculation completes quickly (< 1 second)
- [ ] Verify no performance degradation
- [ ] Verify UI remains responsive

**Test Case 11.3: Export Performance**
- [ ] Generate invoice with multiple items
- [ ] Export as PDF
- [ ] Verify export completes efficiently
- [ ] Verify no blocking operations

### 12. Error Handling Testing

**Test Case 12.1: Invalid Inputs**
- [ ] Enter negative amount (should show error)
- [ ] Enter amount > 10,000,000€ (should show error)
- [ ] Enter invalid VAT rate (should show error)
- [ ] Enter zero quantity (should handle gracefully)
- [ ] Verify user-friendly error messages

**Test Case 12.2: Edge Cases**
- [ ] Enter zero for amount (should handle gracefully)
- [ ] Enter very large values (should validate)
- [ ] Enter invalid combinations (should show appropriate errors)
- [ ] Verify no console errors

**Test Case 12.3: Calculation Errors**
- [ ] Test scenarios that might cause calculation errors
- [ ] Verify error messages are user-friendly
- [ ] Verify errors don't break the UI
- [ ] Verify recovery from errors works

## Deployment Checklist

### Pre-Deployment

- [x] All automated tests passing ✅
- [ ] Manual testing completed (see above)
- [ ] Schema validation completed
- [ ] Performance check completed
- [ ] Content review completed
- [ ] Error handling verified

### Deployment Steps

1. **Code Review**
   - [ ] Review all changes in `tools_mehrwertsteuer_rechner.php`
   - [ ] Review all changes in `tools-mehrwertsteuer-calculator.js`
   - [ ] Verify Kleinunternehmerregelung thresholds updated correctly
   - [ ] Verify no unintended changes

2. **Test Suite Execution**
   - [ ] Run automated test suite: `node v2/scripts/dev-helpers/test-mehrwertsteuer-calculations.js`
   - [ ] Verify all 42 tests pass
   - [ ] Document test results

3. **Browser Testing**
   - [ ] Test in Chrome (latest)
   - [ ] Test in Firefox (latest)
   - [ ] Test in Safari (latest)
   - [ ] Test in Edge (latest)
   - [ ] Test on mobile devices (iOS/Android)

4. **Schema Validation**
   - [ ] Run Google Rich Results Test
   - [ ] Verify all schemas validate
   - [ ] Fix any validation errors

5. **Performance Check**
   - [ ] Run PageSpeed Insights
   - [ ] Verify no regressions
   - [ ] Verify performance targets met

6. **VAT Calculation Verification**
   - [ ] Test Kleinunternehmerregelung threshold display
   - [ ] Test all VAT rates (DE, AT, CH)
   - [ ] Test custom VAT rates
   - [ ] Verify calculations are accurate

7. **Deploy to Staging**
   - [ ] Deploy changes to staging environment
   - [ ] Run full test suite on staging
   - [ ] Verify all functionality works

8. **Deploy to Production**
   - [ ] Deploy changes to production
   - [ ] Monitor for errors
   - [ ] Verify page loads correctly
   - [ ] Verify calculations work correctly
   - [ ] Verify Kleinunternehmerregelung thresholds display correctly

### Post-Deployment

- [ ] Monitor error logs for 24 hours
- [ ] Verify no console errors in production
- [ ] Verify schema validation still passes
- [ ] Verify user feedback (if any)
- [ ] Document deployment completion

## Verification Commands

### Run Automated Tests

```bash
node v2/scripts/dev-helpers/test-mehrwertsteuer-calculations.js
```

**Expected Output:**
- Total Tests: 42
- Passed: 42
- Failed: 0
- Success Rate: 100.0%

### Check for Console Statements

```bash
grep -r "console\.\(log\|error\|warn\|debug\|info\)" v2/pages/tools_mehrwertsteuer_rechner.php v2/js/tools-mehrwertsteuer-calculator.js
```

**Expected Output:** No matches (empty)

### Verify Kleinunternehmerregelung Thresholds

```bash
grep -n "25\.000.*100\.000\|100\.000.*25\.000" v2/pages/tools_mehrwertsteuer_rechner.php v2/js/tools-mehrwertsteuer-calculator.js
```

**Expected Output:** Should show updated dual threshold display

### Check VAT Rates

```bash
grep -n "standard.*19\|reduced.*7\|standard.*20\|reduced.*10\|standard.*8\.1\|reduced.*2\.6" v2/pages/tools_mehrwertsteuer_rechner.php v2/js/tools-mehrwertsteuer-calculator.js | head -20
```

**Expected Output:** Should show correct VAT rates for all countries

## Notes

### Kleinunternehmerregelung Impact

The change from single threshold to dual thresholds means:
- **More complex eligibility** - businesses must meet both thresholds
- **NET amounts** - thresholds based on net turnover (without VAT)
- **Fallbeileffekt** - immediate VAT application when exceeding 100,000€
- **Better planning** - 100,000€ buffer during the year

**Example Scenarios:**
- Business with 24,000€ net previous year: Qualifies ✅
- Business with 26,000€ net previous year: Does NOT qualify ❌
- Business qualifying but exceeding 100,000€ in June: VAT applies immediately to excess ⚠️

### Future Enhancements

- Consider adding Austria 13% and Switzerland 3.8% as separate rate options
- Add Kleinunternehmerregelung eligibility checker
- Add comparison mode for different VAT scenarios
- Improve multi-item mode UI for better usability
- Add historical VAT rates for reference

## Summary

The Mehrwertsteuer Rechner has been comprehensively reviewed and updated for 2026 compliance. The critical Kleinunternehmerregelung thresholds have been updated to reflect the new dual threshold system, all VAT rates have been verified (all unchanged for 2026), comprehensive test coverage has been added (42 tests, 100% pass rate), code quality is verified, and all documentation has been updated. The tool is ready for manual testing and deployment.

**Status:** ✅ COMPLETED - Ready for manual testing and deployment
