phonepe #50
@ -54,7 +54,7 @@ export class InvoiceService {
|
||||
|
||||
doc.setFontSize(20);
|
||||
doc.setFont('helvetica', 'bold');
|
||||
doc.text(data.businessName, 13, 20);
|
||||
doc.text(data.businessName, 15, 20);
|
||||
|
||||
doc.setFontSize(12);
|
||||
doc.setFont('helvetica', 'normal');
|
||||
@ -66,10 +66,10 @@ export class InvoiceService {
|
||||
|
||||
if (addressLines.length <= 2) {
|
||||
for (let i = 0; i < addressLines.length; i++) {
|
||||
doc.text(addressLines[i], 13, 30 + (i * lineHeight));
|
||||
doc.text(addressLines[i], 15, 30 + (i * lineHeight));
|
||||
}
|
||||
} else {
|
||||
doc.text(addressLines[0], 13, 30);
|
||||
doc.text(addressLines[0], 15, 30);
|
||||
|
||||
let secondLine = addressLines[1];
|
||||
if (secondLine.length > 3) {
|
||||
@ -77,7 +77,7 @@ export class InvoiceService {
|
||||
} else {
|
||||
secondLine += '...';
|
||||
}
|
||||
doc.text(secondLine, 13, 35);
|
||||
doc.text(secondLine, 15, 35);
|
||||
}
|
||||
|
||||
const gstYPosition = 40;
|
||||
@ -88,17 +88,17 @@ export class InvoiceService {
|
||||
|
||||
doc.setFontSize(24);
|
||||
doc.setFont('helvetica', 'bold');
|
||||
doc.text('RECEIPT', 190, 20, { align: 'right' });
|
||||
doc.text('RECEIPT', 195, 20, { align: 'right' });
|
||||
|
||||
doc.setFontSize(12);
|
||||
doc.text(`Receipt #: ${data.invoiceNumber}`, 190, 30, { align: 'right' });
|
||||
doc.text(`Date: ${formattedDate}`, 190, 40, { align: 'right' });
|
||||
doc.text(`Receipt #: ${data.invoiceNumber}`, 195, 30, { align: 'right' });
|
||||
doc.text(`Date: ${formattedDate}`, 195, 40, { align: 'right' });
|
||||
|
||||
doc.line(20, 45, 190, 45);
|
||||
doc.line(15, 45, 195, 45);
|
||||
|
||||
doc.setFontSize(12);
|
||||
const receiptToBoxX = 13;
|
||||
const receiptToBoxY = 55;
|
||||
const receiptToBoxX = 15;
|
||||
const receiptToBoxY = 50;
|
||||
const receiptToBoxWidth = 100;
|
||||
const receiptToBoxHeight = 40;
|
||||
|
||||
@ -110,12 +110,20 @@ export class InvoiceService {
|
||||
|
||||
doc.setFont('helvetica', 'normal');
|
||||
doc.text(data.customerName, 18, 70);
|
||||
doc.text(`Phone: ${data.phoneNumber}`, 18, 80);
|
||||
doc.text(`Email: ${data.email}`, 18, 90);
|
||||
doc.text(`Phone: ${data.phoneNumber}`, 18, 75);
|
||||
doc.text(`Email: ${data.email}`, 18, 80);
|
||||
|
||||
autoTable(doc, {
|
||||
startY: 110,
|
||||
head: [['No.', 'Description', 'HSN/SAC', 'Amount (INR)']],
|
||||
margin: {left: 15, right: 15},
|
||||
head: [
|
||||
[
|
||||
{content: 'No.', styles: {halign: 'center'}},
|
||||
{content: 'Description', styles: {halign: 'left'}},
|
||||
{content: 'HSN/SAC', styles: {halign: 'center'}},
|
||||
{content: 'Amount (INR)', styles: {halign: 'right'}}
|
||||
]
|
||||
],
|
||||
body: [
|
||||
['1', `${data.planName} Subscription`, '999723', baseAmount.toFixed(2)]
|
||||
],
|
||||
@ -147,30 +155,30 @@ export class InvoiceService {
|
||||
|
||||
if (hasGst) {
|
||||
doc.text('Taxable Amount:', 150, finalY, { align: 'right' });
|
||||
doc.text(`${baseAmount.toFixed(2)} INR`, 190, finalY, { align: 'right' });
|
||||
doc.text(`${baseAmount.toFixed(2)} INR`, 195, finalY, { align: 'right' });
|
||||
|
||||
doc.text('SGST (9%):', 150, finalY + 10, { align: 'right' });
|
||||
doc.text(`${sgst.toFixed(2)} INR`, 190, finalY + 10, { align: 'right' });
|
||||
doc.text(`${sgst.toFixed(2)} INR`, 195, finalY + 10, { align: 'right' });
|
||||
|
||||
doc.text('CGST (9%):', 150, finalY + 20, { align: 'right' });
|
||||
doc.text(`${cgst.toFixed(2)} INR`, 190, finalY + 20, { align: 'right' });
|
||||
doc.text(`${cgst.toFixed(2)} INR`, 195, finalY + 20, { align: 'right' });
|
||||
|
||||
doc.line(120, finalY + 25, 190, finalY + 25);
|
||||
doc.line(120, finalY + 25, 195, finalY + 25);
|
||||
|
||||
doc.setFont('helvetica', 'bold');
|
||||
doc.text('Total Amount:', 150, finalY + 30, { align: 'right' });
|
||||
doc.text(`${data.amount.toFixed(2)} INR`, 190, finalY + 30, { align: 'right' });
|
||||
doc.text(`${data.amount.toFixed(2)} INR`, 195, finalY + 30, { align: 'right' });
|
||||
} else {
|
||||
doc.line(120, finalY - 5, 190, finalY - 5);
|
||||
doc.line(120, finalY - 5, 195, finalY - 5);
|
||||
doc.setFont('helvetica', 'bold');
|
||||
doc.text('Total Amount:', 150, finalY, { align: 'right' });
|
||||
doc.text(`${data.amount.toFixed(2)} INR`, 190, finalY, { align: 'right' });
|
||||
doc.text(`${data.amount.toFixed(2)} INR`, 195, finalY, { align: 'right' });
|
||||
}
|
||||
|
||||
const paymentY = hasGst ? finalY + 50 : finalY + 20;
|
||||
|
||||
const boxX = 13;
|
||||
const boxY = paymentY - 5;
|
||||
const boxX = 15;
|
||||
const boxY = paymentY - 10;
|
||||
const boxWidth = 100;
|
||||
const boxHeight = 40;
|
||||
|
||||
@ -183,8 +191,8 @@ export class InvoiceService {
|
||||
|
||||
doc.setFont('helvetica', 'normal');
|
||||
doc.text(`Transaction ID: ${data.transactionId}`, 18, paymentY + 10);
|
||||
doc.text(`Payment Method: ${data.paymentMethod}`, 18, paymentY + 20);
|
||||
doc.text(`Payment Date: ${formattedDate}`, 18, paymentY + 30);
|
||||
doc.text(`Payment Method: ${data.paymentMethod}`, 18, paymentY + 15);
|
||||
doc.text(`Payment Date: ${formattedDate}`, 18, paymentY + 20);
|
||||
|
||||
doc.setFontSize(12);
|
||||
doc.setFont('helvetica', 'italic');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user