RECEIPT
{{ $company->company_name }}
{{ $company->address_1 }} {{ $company->address_2 }} {{ $company->state }} {{ $company->city }} {{ $company->pincode }}
Party:
({{ !empty($voucher->account) ? $voucher->account->name : '' }})
Amount (in words): {{ ucwords(numberToIndianWords((int) $voucher->net_amount)) }} Only
As per details given below:
Receipt No. {{ $voucher->voucher_no }}
DATE: {{ date('d-m-Y', strtotime($voucher->date)) }}
Remark / Note area (you can write remarks here) {{ $voucher->remarks }} {{ $voucher->narration }}
Discount (If Any) {{ number_format($voucher->bill_discount_amount, 2) }}
Value = {{ number_format($voucher->net_amount, 2) }}
 
For {{ $company->company_name }}
Auth. Signatory
__________________
Note: This is a computer generated receipt and does not require a physical signature.
@php // Set amount in words function numberToIndianWords($number) { // Handle zero and negatives if ($number == 0) { return 'zero'; } if ($number < 0) { return 'negative ' . numberToIndianWords(abs($number)); } // Basic words arrays $ones = [ '', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', ]; $tens = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']; $scales = ['', 'thousand', 'lakh', 'crore']; // Indian scales: up to crore // Convert three-digit groups to words function convertThreeDigits($num, $ones, $tens) { $words = ''; if ($num >= 100) { $words .= $ones[$num / 100] . ' hundred '; $num %= 100; } if ($num >= 20) { $words .= $tens[$num / 10] . ' '; $num %= 10; } if ($num > 0) { $words .= $ones[$num] . ' '; } return trim($words); } $words = []; $groupIndex = 0; // Process in groups of 2 digits for Indian system (lakh/crore), but handle thousands separately while ($number > 0) { $group = $number % 100; if ($group > 0) { $groupWords = convertThreeDigits($group, $ones, $tens); if ($groupIndex == 1) { $groupWords .= ' thousand '; } elseif ($groupIndex == 2) { $groupWords .= ' lakh '; } elseif ($groupIndex == 3) { $groupWords .= ' crore '; } $words[] = $groupWords; } $number = floor($number / 100); $groupIndex++; } return implode(' ', array_reverse($words)); } @endphp