0) {
try {
$sale = fetch_sale($id);
} catch (Throwable $e) {
$dbError = $e->getMessage();
}
}
if (!$sale) {
die("Sale not found.");
}
// Receipt Configuration
$storeName = current_lang() === 'ar' ? get_setting('company_name_ar', 'حلوى الريامي') : get_setting('company_name_en', 'Al Riyami Sweets');
$storeAddress = get_setting('company_address', '');
$vatNo = get_setting('company_vat_number', '300123456789012');
$registerNo = 'REG-01';
?>
= h(tr('رقم الفاتورة', 'Receipt No')) ?>:
= h($sale['receipt_no']) ?>
= h(tr('التاريخ', 'Date')) ?>:
= h(date('Y-m-d H:i', strtotime((string)$sale['sale_date']))) ?>
= h(tr('الكاشير', 'Cashier')) ?>:
= h($sale['cashier_name']) ?> (= h($registerNo) ?>)
= h(tr('العميل', 'Customer')) ?>:
= h($sale['customer_name']) ?>
| = h(tr('الصنف', 'Item')) ?> |
= h(tr('كمية', 'Qty')) ?> |
= h(tr('سعر', 'Price')) ?> |
= h(tr('إجمالي', 'Total')) ?> |
| = h($name) ?> |
= h($item['qty']) ?> |
= number_format((float)$item['price'], 3) ?> |
= number_format((float)$item['line_total'], 3) ?> |
= h(tr('المجموع الفرعي', 'Subtotal')) ?>
= number_format((float)$sale['subtotal'], 3) ?>
= h(tr('ضريبة القيمة المضافة (مشمولة)', 'VAT (Inclusive)')) ?>
= number_format((float)($sale['vat_amount'] ?? 0), 3) ?>
= h(tr('الإجمالي', 'Total')) ?>
= number_format((float)$sale['total_amount'], 3) ?> = h(tr('ر.ع', 'OMR')) ?>
= h(tr('طريقة الدفع', 'Payment Method')) ?>
= h(ucfirst((string)$sale['payment_method'])) ?>