sales tax
This commit is contained in:
@@ -95,6 +95,29 @@ router.get('/reports/tax-summary', async (req, res) => {
|
||||
} catch (err) { handleQboError(err, res, 'tax-summary'); }
|
||||
});
|
||||
|
||||
// ─── Sales Tax Periods ────────────────────────────────────────────
|
||||
|
||||
router.get('/sales-tax/periods', async (req, res) => {
|
||||
try {
|
||||
res.json(await accountingService.getTaxPeriods());
|
||||
} catch (err) { handleQboError(err, res, 'sales-tax-periods'); }
|
||||
});
|
||||
|
||||
router.post('/sales-tax/periods', async (req, res) => {
|
||||
try {
|
||||
res.json(await accountingService.upsertTaxPeriod(req.body));
|
||||
} catch (err) { handleQboError(err, res, 'sales-tax-periods'); }
|
||||
});
|
||||
|
||||
router.post('/sales-tax/periods/:id/record', async (req, res) => {
|
||||
try {
|
||||
res.json(await accountingService.createTaxPaymentJE({
|
||||
periodId: req.params.id,
|
||||
...req.body
|
||||
}));
|
||||
} catch (err) { handleQboError(err, res, 'sales-tax-record'); }
|
||||
});
|
||||
|
||||
// ════════════════════════════════════════════════════════════════════
|
||||
// Phase 2 Lieferung 1 — Sync + Cache-Reads
|
||||
// ════════════════════════════════════════════════════════════════════
|
||||
|
||||
Reference in New Issue
Block a user