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