tango-app-api-payment-subscription 3.0.29-dev → 3.0.30-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-app-api-payment-subscription",
3
- "version": "3.0.29-dev",
3
+ "version": "3.0.30-dev",
4
4
  "description": "paymentSubscription",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  "nodemon": "^3.1.0",
26
26
  "pdfmake": "^0.2.10",
27
27
  "swagger-ui-express": "^5.0.0",
28
- "tango-api-schema": "^2.0.79",
28
+ "tango-api-schema": "^2.0.83",
29
29
  "tango-app-api-middleware": "^1.0.54-dev",
30
30
  "winston": "^3.12.0",
31
31
  "winston-daily-rotate-file": "^5.0.0"
@@ -1770,12 +1770,35 @@ export const updatedRevisedPrice = async ( req, res ) => {
1770
1770
  invoiceDetails.save().then( async () => {
1771
1771
  let userDetails= await userService.findOne( { clientId: invoiceDetails.clientId, role: 'superadmin' } );
1772
1772
  if ( userDetails ) {
1773
+ let invoiceInfo;
1774
+ let clientDetails = await paymentService.findOne( { clientId: invoiceDetails.clientId } );
1775
+ let amount = 0;
1776
+ invoiceDetails.products.forEach( ( item ) => {
1777
+ if ( clientDetails.priceType == 'step' ) {
1778
+ item.count = item.product.storeRange;
1779
+ }
1780
+ amount = amount + item.price;
1781
+ } );
1782
+ let invoiceDate= dayjs( invoiceDetails.createdAt ).format( 'DD MMM, YYYY' );
1783
+ let days = clientDetails?.paymentInvoice?.extendPaymentPeriodDays || 10;
1784
+ let dueDate = invoiceDetails?.dueDate ? dayjs( invoiceDetails?.dueDate ).format( 'DD MMM, YYYY' ) : dayjs().add( days, 'days' ).format( 'DD MMM, YYYY' );
1785
+ invoiceInfo = {
1786
+ ...invoiceDetails._doc,
1787
+ clientName: clientDetails.clientName,
1788
+ extendDays: clientDetails.paymentInvoice.extendPaymentPeriodDays,
1789
+ address: clientDetails.billingDetails.billingAddress,
1790
+ amount: amount,
1791
+ discount: req.body.discount,
1792
+ total: req.body.revisedAmount.toFixed( 2 ),
1793
+ invoiceDate,
1794
+ dueDate,
1795
+ };
1773
1796
  const templateHtml = fs.readFileSync( path.resolve( path.dirname( '' ) ) + '/src/hbs/trialCreditNoteEmail.hbs', 'utf8' );
1774
1797
  const template = Handlebars.compile( templateHtml );
1775
- const html = template( { data: '' } );
1798
+ const html = template( { data: invoiceInfo } );
1776
1799
  let params = {
1777
- toEmail: userDetails.email,
1778
- mailSubject: 'test',
1800
+ toEmail: 'sudha@tangotech.co.in',
1801
+ mailSubject: 'Credit Note',
1779
1802
  htmlBody: html,
1780
1803
  attachment: '',
1781
1804
  sourceEmail: appConfig.cloud.aws.ses.adminEmail,
@@ -1956,6 +1979,9 @@ export const invoiceDownload = async ( req, res ) => {
1956
1979
  let clientDetails = await paymentService.findOne( { clientId: invoiceInfo.clientId } );
1957
1980
  let amount = 0;
1958
1981
  invoiceInfo.products.forEach( ( item ) => {
1982
+ if ( clientDetails.priceType == 'step' ) {
1983
+ item.count = item.product.storeRange;
1984
+ }
1959
1985
  amount = amount + item.price;
1960
1986
  } );
1961
1987
  let invoiceDate= dayjs( invoiceInfo.createdAt ).format( 'DD MMM, YYYY' );
@@ -1989,7 +2015,7 @@ export const invoiceDownload = async ( req, res ) => {
1989
2015
  let { window } = new JSDOM( '' );
1990
2016
  const htmlTemplate = htmlToPdfmake( html, { window: window, tableAutoSize: true } );
1991
2017
  const docDefinition = {
1992
- pageMargins: [ 40, 0, 40, 40 ],
2018
+ pageMargins: [ 40, 10, 40, 40 ],
1993
2019
  content: htmlTemplate,
1994
2020
  defaultStyle: {
1995
2021
  font: 'Helvetica',
@@ -0,0 +1,722 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <style type="text/css">
5
+ .invoicemodel,
6
+ .invoicemodel * {
7
+ box-sizing: border-box;
8
+ }
9
+ .invoicemodel {
10
+ background: var(--others-white, #ffffff);
11
+ border-radius: 12px;
12
+ padding: 32px 32px 40px 32px;
13
+ display: flex;
14
+ flex-direction: column;
15
+ gap: 32px;
16
+ align-items: flex-start;
17
+ justify-content: flex-start;
18
+ position: relative;
19
+ overflow: hidden;
20
+ }
21
+ .text {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 16px;
25
+ align-items: flex-start;
26
+ justify-content: flex-start;
27
+ align-self: stretch;
28
+ flex-shrink: 0;
29
+ position: relative;
30
+ }
31
+ .header {
32
+ color: var(--greyscale-900, #121a26);
33
+ text-align: left;
34
+ font-family: var(
35
+ --text-xl-semibold-font-family,
36
+ "Inter-SemiBold",
37
+ sans-serif
38
+ );
39
+ font-size: var(--text-xl-semibold-font-size, 20px);
40
+ line-height: var(--text-xl-semibold-line-height, 30px);
41
+ font-weight: var(--text-xl-semibold-font-weight, 600);
42
+ position: relative;
43
+ align-self: stretch;
44
+ }
45
+ .subheading {
46
+ color: var(--greyscale-700, #384860);
47
+ text-align: left;
48
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
49
+ font-size: var(--text-md-medium-font-size, 16px);
50
+ line-height: var(--text-md-medium-line-height, 24px);
51
+ font-weight: var(--text-md-medium-font-weight, 500);
52
+ position: relative;
53
+ align-self: stretch;
54
+ }
55
+ .order-detail {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: 24px;
59
+ align-items: flex-start;
60
+ justify-content: flex-start;
61
+ align-self: stretch;
62
+ flex-shrink: 0;
63
+ position: relative;
64
+ }
65
+ .text2 {
66
+ display: flex;
67
+ flex-direction: column;
68
+ gap: 8px;
69
+ align-items: flex-start;
70
+ justify-content: flex-start;
71
+ align-self: stretch;
72
+ flex-shrink: 0;
73
+ position: relative;
74
+ }
75
+ .invoicedetails {
76
+ color: var(--greyscale-900, #121a26);
77
+ text-align: left;
78
+ font-family: var(
79
+ --text-md-semibold-font-family,
80
+ "Inter-SemiBold",
81
+ sans-serif
82
+ );
83
+ font-size: var(--text-md-semibold-font-size, 16px);
84
+ line-height: var(--text-md-semibold-line-height, 24px);
85
+ font-weight: var(--text-md-semibold-font-weight, 600);
86
+ position: relative;
87
+ align-self: stretch;
88
+ }
89
+ .body4 {
90
+ text-align: left;
91
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
92
+ font-size: var(--text-md-medium-font-size, 16px);
93
+ line-height: var(--text-md-medium-line-height, 24px);
94
+ font-weight: var(--text-md-medium-font-weight, 500);
95
+ position: relative;
96
+ align-self: stretch;
97
+ }
98
+ .body-4-span {
99
+ color: var(--greyscale-700, #384860);
100
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
101
+ font-size: var(--text-md-medium-font-size, 16px);
102
+ line-height: var(--text-md-medium-line-height, 24px);
103
+ font-weight: var(--text-md-medium-font-weight, 500);
104
+ }
105
+ .body-4-span2 {
106
+ color: var(--primary-base, #2969ff);
107
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
108
+ font-size: var(--text-md-medium-font-size, 16px);
109
+ line-height: var(--text-md-medium-line-height, 24px);
110
+ font-weight: var(--text-md-medium-font-weight, 500);
111
+ }
112
+ .invoicedetailsframe {
113
+ display: flex;
114
+ flex-direction: column;
115
+ gap: 8px;
116
+ align-items: flex-start;
117
+ justify-content: flex-start;
118
+ align-self: stretch;
119
+ flex-shrink: 0;
120
+ position: relative;
121
+ }
122
+ .invoicedetailscontent {
123
+ background: var(--white, #ffffff);
124
+ display: flex;
125
+ flex-direction: row;
126
+ gap: 0px;
127
+ align-items: flex-start;
128
+ justify-content: flex-start;
129
+ align-self: stretch;
130
+ flex-shrink: 0;
131
+ position: relative;
132
+ }
133
+ .column {
134
+ display: flex;
135
+ flex-direction: column;
136
+ gap: 0px;
137
+ align-items: flex-start;
138
+ justify-content: flex-start;
139
+ align-self: stretch;
140
+ flex: 1;
141
+ position: relative;
142
+ }
143
+ .table-header-cell {
144
+ background: var(--gray-50, #f9fafb);
145
+ border-style: solid;
146
+ border-color: var(--gray-200, #eaecf0);
147
+ border-width: 0px 0px 1px 0px;
148
+ padding: 12px 24px 12px 24px;
149
+ display: flex;
150
+ flex-direction: row;
151
+ gap: 12px;
152
+ align-items: center;
153
+ justify-content: flex-start;
154
+ align-self: stretch;
155
+ flex-shrink: 0;
156
+ height: 44px;
157
+ position: relative;
158
+ }
159
+ .table-header {
160
+ display: flex;
161
+ flex-direction: row;
162
+ gap: 4px;
163
+ align-items: center;
164
+ justify-content: flex-start;
165
+ flex-shrink: 0;
166
+ position: relative;
167
+ }
168
+ .text3 {
169
+ color: var(--gray-500, #667085);
170
+ text-align: left;
171
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
172
+ font-size: var(--text-md-medium-font-size, 16px);
173
+ line-height: var(--text-md-medium-line-height, 24px);
174
+ font-weight: var(--text-md-medium-font-weight, 500);
175
+ position: relative;
176
+ }
177
+ .table-cell {
178
+ border-style: solid;
179
+ border-color: var(--gray-200, #eaecf0);
180
+ border-width: 0px 0px 1px 0px;
181
+ padding: 16px 24px 16px 24px;
182
+ display: flex;
183
+ flex-direction: row;
184
+ gap: 0px;
185
+ align-items: center;
186
+ justify-content: flex-start;
187
+ align-self: stretch;
188
+ flex-shrink: 0;
189
+ height: 72px;
190
+ position: relative;
191
+ }
192
+ .text4 {
193
+ color: var(--gray-600, #475467);
194
+ text-align: left;
195
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
196
+ font-size: var(--text-md-medium-font-size, 16px);
197
+ line-height: var(--text-md-medium-line-height, 24px);
198
+ font-weight: var(--text-md-medium-font-weight, 500);
199
+ position: relative;
200
+ }
201
+ .table-header2 {
202
+ display: flex;
203
+ flex-direction: row;
204
+ gap: 4px;
205
+ align-items: center;
206
+ justify-content: flex-start;
207
+ flex: 1;
208
+ position: relative;
209
+ }
210
+ .text5 {
211
+ color: var(--gray-500, #667085);
212
+ text-align: right;
213
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
214
+ font-size: var(--text-md-medium-font-size, 16px);
215
+ line-height: var(--text-md-medium-line-height, 24px);
216
+ font-weight: var(--text-md-medium-font-weight, 500);
217
+ position: relative;
218
+ flex: 1;
219
+ }
220
+ .text6 {
221
+ color: var(--gray-600, #475467);
222
+ text-align: right;
223
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
224
+ font-size: var(--text-md-medium-font-size, 16px);
225
+ line-height: var(--text-md-medium-line-height, 24px);
226
+ font-weight: var(--text-md-medium-font-weight, 500);
227
+ position: relative;
228
+ flex: 1;
229
+ }
230
+ .table-header3 {
231
+ display: flex;
232
+ flex-direction: row;
233
+ gap: 4px;
234
+ align-items: center;
235
+ justify-content: flex-end;
236
+ flex: 1;
237
+ position: relative;
238
+ }
239
+ .billingvalueframe {
240
+ display: flex;
241
+ flex-direction: column;
242
+ gap: 12px;
243
+ align-items: flex-start;
244
+ justify-content: flex-start;
245
+ align-self: stretch;
246
+ flex-shrink: 0;
247
+ position: relative;
248
+ }
249
+ .subtotal {
250
+ display: flex;
251
+ flex-direction: row;
252
+ gap: 84px;
253
+ align-items: flex-start;
254
+ justify-content: flex-start;
255
+ align-self: stretch;
256
+ flex-shrink: 0;
257
+ position: relative;
258
+ }
259
+ .framestartvalue {
260
+ padding: 0px 24px 0px 24px;
261
+ display: flex;
262
+ flex-direction: row;
263
+ gap: 10px;
264
+ align-items: flex-start;
265
+ justify-content: flex-start;
266
+ flex: 1;
267
+ position: relative;
268
+ }
269
+ .text7 {
270
+ color: var(--gray-500, #667085);
271
+ text-align: left;
272
+ font-family: var(
273
+ --text-md-semibold-font-family,
274
+ "Inter-SemiBold",
275
+ sans-serif
276
+ );
277
+ font-size: var(--text-md-semibold-font-size, 16px);
278
+ line-height: var(--text-md-semibold-line-height, 24px);
279
+ font-weight: var(--text-md-semibold-font-weight, 600);
280
+ position: relative;
281
+ flex: 1;
282
+ }
283
+ .frame-endvalue {
284
+ padding: 0px 23px 0px 23px;
285
+ display: flex;
286
+ flex-direction: row;
287
+ gap: 10px;
288
+ align-items: flex-start;
289
+ justify-content: flex-start;
290
+ flex: 1;
291
+ position: relative;
292
+ }
293
+ .text8 {
294
+ color: var(--gray-500, #667085);
295
+ text-align: right;
296
+ font-family: var(
297
+ --text-md-semibold-font-family,
298
+ "Inter-SemiBold",
299
+ sans-serif
300
+ );
301
+ font-size: var(--text-md-semibold-font-size, 16px);
302
+ line-height: var(--text-md-semibold-line-height, 24px);
303
+ font-weight: var(--text-md-semibold-font-weight, 600);
304
+ position: relative;
305
+ flex: 1;
306
+ }
307
+ .IGST {
308
+ display: flex;
309
+ flex-direction: row;
310
+ gap: 84px;
311
+ align-items: flex-start;
312
+ justify-content: flex-start;
313
+ align-self: stretch;
314
+ flex-shrink: 0;
315
+ position: relative;
316
+ }
317
+ .Total {
318
+ display: flex;
319
+ flex-direction: row;
320
+ gap: 84px;
321
+ align-items: flex-start;
322
+ justify-content: flex-start;
323
+ align-self: stretch;
324
+ flex-shrink: 0;
325
+ position: relative;
326
+ }
327
+ .Discount {
328
+ display: flex;
329
+ flex-direction: row;
330
+ gap: 84px;
331
+ align-items: flex-start;
332
+ justify-content: flex-start;
333
+ align-self: stretch;
334
+ flex-shrink: 0;
335
+ position: relative;
336
+ }
337
+ .divider {
338
+ background: var(--gray-25, #fcfcfd);
339
+ display: flex;
340
+ flex-direction: row;
341
+ gap: 0px;
342
+ align-items: flex-start;
343
+ justify-content: center;
344
+ align-self: stretch;
345
+ flex-shrink: 0;
346
+ position: relative;
347
+ }
348
+ .container {
349
+ padding: 0px 32px 0px 32px;
350
+ display: flex;
351
+ flex-direction: column;
352
+ gap: 32px;
353
+ align-items: flex-start;
354
+ justify-content: flex-start;
355
+ flex: 1;
356
+ height: auto;
357
+ position: relative;
358
+ overflow: visible;
359
+ }
360
+ .finalvalue {
361
+ display: flex;
362
+ flex-direction: row;
363
+ gap: 84px;
364
+ align-items: flex-start;
365
+ justify-content: flex-start;
366
+ align-self: stretch;
367
+ flex-shrink: 0;
368
+ position: relative;
369
+ }
370
+ .line {
371
+ border-style: solid;
372
+ border-color: var(--greyscale-200, #e2e8f0);
373
+ border-width: 1px 0 0 0;
374
+ align-self: stretch;
375
+ flex-shrink: 0;
376
+ height: 0px;
377
+ position: relative;
378
+ transform-origin: 0 0;
379
+ transform: rotate(0deg) scale(1, 1);
380
+ }
381
+ .paymentframe {
382
+ display: flex;
383
+ flex-direction: column;
384
+ gap: 12px;
385
+ align-items: flex-start;
386
+ justify-content: flex-start;
387
+ align-self: stretch;
388
+ flex-shrink: 0;
389
+ position: relative;
390
+ }
391
+ .bank-details {
392
+ color: var(--gray-900, #101828);
393
+ text-align: left;
394
+ font-family: var(
395
+ --text-md-semibold-font-family,
396
+ "Inter-SemiBold",
397
+ sans-serif
398
+ );
399
+ font-size: var(--text-md-semibold-font-size, 16px);
400
+ line-height: var(--text-md-semibold-line-height, 24px);
401
+ font-weight: var(--text-md-semibold-font-weight, 600);
402
+ position: relative;
403
+ }
404
+ .account-details {
405
+ display: flex;
406
+ flex-direction: column;
407
+ gap: 12px;
408
+ align-items: flex-start;
409
+ justify-content: flex-start;
410
+ flex-shrink: 0;
411
+ position: relative;
412
+ }
413
+ .details1 {
414
+ display: flex;
415
+ flex-direction: column;
416
+ gap: 0px;
417
+ align-items: flex-start;
418
+ justify-content: flex-start;
419
+ flex-shrink: 0;
420
+ position: relative;
421
+ }
422
+ .account-number {
423
+ color: var(--gray-500, #667085);
424
+ text-align: left;
425
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
426
+ font-size: var(--text-md-medium-font-size, 16px);
427
+ line-height: var(--text-md-medium-line-height, 24px);
428
+ font-weight: var(--text-md-medium-font-weight, 500);
429
+ position: relative;
430
+ }
431
+ ._12457687989577 {
432
+ color: var(--gray-800, #1d2939);
433
+ text-align: left;
434
+ font-family: var(
435
+ --text-md-semibold-font-family,
436
+ "Inter-SemiBold",
437
+ sans-serif
438
+ );
439
+ font-size: var(--text-md-semibold-font-size, 16px);
440
+ line-height: var(--text-md-semibold-line-height, 24px);
441
+ font-weight: var(--text-md-semibold-font-weight, 600);
442
+ position: relative;
443
+ width: 210px;
444
+ }
445
+ .details2 {
446
+ display: flex;
447
+ flex-direction: column;
448
+ gap: 0px;
449
+ align-items: flex-start;
450
+ justify-content: flex-start;
451
+ flex-shrink: 0;
452
+ position: relative;
453
+ }
454
+ .ifsc-code {
455
+ color: var(--gray-500, #667085);
456
+ text-align: left;
457
+ font-family: var(--text-md-medium-font-family, "Inter-Medium", sans-serif);
458
+ font-size: var(--text-md-medium-font-size, 16px);
459
+ line-height: var(--text-md-medium-line-height, 24px);
460
+ font-weight: var(--text-md-medium-font-weight, 500);
461
+ position: relative;
462
+ }
463
+ .sbi-0208 {
464
+ color: var(--gray-800, #1d2939);
465
+ text-align: left;
466
+ font-family: var(
467
+ --text-md-semibold-font-family,
468
+ "Inter-SemiBold",
469
+ sans-serif
470
+ );
471
+ font-size: var(--text-md-semibold-font-size, 16px);
472
+ line-height: var(--text-md-semibold-line-height, 24px);
473
+ font-weight: var(--text-md-semibold-font-weight, 600);
474
+ position: relative;
475
+ }
476
+ .text9 {
477
+ display: flex;
478
+ flex-direction: column;
479
+ gap: 12px;
480
+ align-items: flex-start;
481
+ justify-content: flex-start;
482
+ align-self: stretch;
483
+ flex-shrink: 0;
484
+ position: relative;
485
+ }
486
+ .button {
487
+ border-radius: 8px;
488
+ display: flex;
489
+ flex-direction: row;
490
+ gap: 0px;
491
+ align-items: flex-start;
492
+ justify-content: flex-start;
493
+ align-self: stretch;
494
+ flex-shrink: 0;
495
+ position: relative;
496
+ }
497
+ .button-base {
498
+ background: var(--primary-600, #00a3ff);
499
+ border-radius: 8px;
500
+ border-style: solid;
501
+ border-color: var(--primary-600, #00a3ff);
502
+ border-width: 1px;
503
+ padding: 16px 28px 16px 28px;
504
+ display: flex;
505
+ flex-direction: row;
506
+ gap: 8px;
507
+ align-items: center;
508
+ justify-content: center;
509
+ flex: 1;
510
+ position: relative;
511
+ box-shadow: var(
512
+ --shadow-xs-box-shadow,
513
+ 0px 1px 2px 0px rgba(16, 24, 40, 0.05)
514
+ );
515
+ overflow: hidden;
516
+ }
517
+ .text10 {
518
+ color: var(--white, #ffffff);
519
+ text-align: left;
520
+ font-family: "Inter-SemiBold", sans-serif;
521
+ font-size: 18px;
522
+ line-height: 28px;
523
+ font-weight: 600;
524
+ position: relative;
525
+ }
526
+ </style>
527
+
528
+ </head>
529
+
530
+ <body>
531
+ <div class="invoicemodel">
532
+ <div class="text">
533
+ <div class="header">Invoice Raised</div>
534
+ <div class="subheading">
535
+ Thank you for choosing us. We hope you had the best experience while using
536
+ Tango platform.
537
+ <br />
538
+ A new invoice LK4803-0005 is raised for your quarterly cycle and is due
539
+ for payments
540
+ </div>
541
+ </div>
542
+ <div class="order-detail">
543
+ <div class="text2">
544
+ <div class="invoicedetails">Invoice Details</div>
545
+ <div class="body4">
546
+ <span>
547
+ <span class="body-4-span">No. Invoice:</span>
548
+ <span class="body-4-span2">INV/20220403/NTL/75686059</span>
549
+ </span>
550
+ </div>
551
+ <div class="invoicedetailsframe">
552
+ <div class="invoicedetailscontent">
553
+ <div class="column">
554
+ <div class="table-header-cell">
555
+ <div class="table-header">
556
+ <div class="text3">Description</div>
557
+ </div>
558
+ </div>
559
+ <div class="table-cell">
560
+ <div class="text4">Traffic</div>
561
+ </div>
562
+ <div class="table-cell">
563
+ <div class="text4">Traffic</div>
564
+ </div>
565
+ <div class="table-cell">
566
+ <div class="text4">Zone</div>
567
+ </div>
568
+ </div>
569
+ <div class="column">
570
+ <div class="table-header-cell">
571
+ <div class="table-header2">
572
+ <div class="text5">Price</div>
573
+ </div>
574
+ </div>
575
+ <div class="table-cell">
576
+ <div class="text6">$200</div>
577
+ </div>
578
+ <div class="table-cell">
579
+ <div class="text6">$180</div>
580
+ </div>
581
+ <div class="table-cell">
582
+ <div class="text6">$150</div>
583
+ </div>
584
+ </div>
585
+ <div class="column">
586
+ <div class="table-header-cell">
587
+ <div class="table-header3">
588
+ <div class="text5">Stores</div>
589
+ </div>
590
+ </div>
591
+ <div class="table-cell">
592
+ <div class="text6">1 - 100</div>
593
+ </div>
594
+ <div class="table-cell">
595
+ <div class="text6">101 - 150</div>
596
+ </div>
597
+ <div class="table-cell">
598
+ <div class="text6">93</div>
599
+ </div>
600
+ </div>
601
+ <div class="column">
602
+ <div class="table-header-cell">
603
+ <div class="table-header2">
604
+ <div class="text5">Total Amount</div>
605
+ </div>
606
+ </div>
607
+ <div class="table-cell">
608
+ <div class="text6">$20,000</div>
609
+ </div>
610
+ <div class="table-cell">
611
+ <div class="text6">$10,000</div>
612
+ </div>
613
+ <div class="table-cell">
614
+ <div class="text6">$15,000</div>
615
+ </div>
616
+ </div>
617
+ </div>
618
+ <div class="billingvalueframe">
619
+ <div class="subtotal">
620
+ <div class="framestartvalue">
621
+ <div class="text7">Sub Total</div>
622
+ </div>
623
+ <div class="frame-endvalue">
624
+ <div class="text8">$0</div>
625
+ </div>
626
+ </div>
627
+ <div class="IGST">
628
+ <div class="framestartvalue">
629
+ <div class="text7">IGST</div>
630
+ </div>
631
+ <div class="frame-endvalue">
632
+ <div class="text8">9%</div>
633
+ </div>
634
+ </div>
635
+ <div class="Total">
636
+ <div class="framestartvalue">
637
+ <div class="text7">Total</div>
638
+ </div>
639
+ <div class="frame-endvalue">
640
+ <div class="text8">$0</div>
641
+ </div>
642
+ </div>
643
+ <div class="Discount">
644
+ <div class="framestartvalue">
645
+ <div class="text7">Discount</div>
646
+ </div>
647
+ <div class="frame-endvalue">
648
+ <div class="text8">0% (- $0 )</div>
649
+ </div>
650
+ </div>
651
+ <div class="divider">
652
+ <svg
653
+ class="container"
654
+ width="541"
655
+ height="1"
656
+ viewBox="0 0 541 1"
657
+ fill="none"
658
+ xmlns="http://www.w3.org/2000/svg"
659
+ >
660
+ <path
661
+ fill-rule="evenodd"
662
+ clip-rule="evenodd"
663
+ d="M509 1H32V0H509V1Z"
664
+ fill="#EAECF0"
665
+ />
666
+ </svg>
667
+ </div>
668
+ <div class="finalvalue">
669
+ <div class="framestartvalue">
670
+ <div class="text7">Final Value</div>
671
+ </div>
672
+ <div class="frame-endvalue">
673
+ <div class="text8">$0</div>
674
+ </div>
675
+ </div>
676
+ </div>
677
+ </div>
678
+ </div>
679
+ <div class="line"></div>
680
+ <div class="text2">
681
+ <div class="subheading">
682
+ Please complete the payment at the earliest for the continuation of our
683
+ services
684
+ </div>
685
+ <div class="paymentframe">
686
+ <div class="bank-details">Bank Details</div>
687
+ <div class="account-details">
688
+ <div class="details1">
689
+ <div class="account-number">Account Number</div>
690
+ <div class="_12457687989577">12457687989577</div>
691
+ </div>
692
+ <div class="details2">
693
+ <div class="ifsc-code">IFSC Code</div>
694
+ <div class="sbi-0208">SBI0208</div>
695
+ </div>
696
+ </div>
697
+ </div>
698
+ </div>
699
+ <div class="text9">
700
+ <div class="subheading">
701
+ Currently, we do not support RBL to RBL Internal Fund Transfer (IIFT)
702
+ transactions on above account number.
703
+ </div>
704
+ <div class="subheading">
705
+ Cheque deposits are not available for the above account number.
706
+ </div>
707
+ <div class="subheading">
708
+ You can also pay using Credit Card / Debit Card / Net Banking / UPI.
709
+ </div>
710
+ </div>
711
+ <div class="button">
712
+ <div class="button-base">
713
+ <div class="text10">PAY NOW</div>
714
+ </div>
715
+ </div>
716
+ </div>
717
+ </div>
718
+
719
+ </body>
720
+
721
+ </html>
722
+
@@ -449,116 +449,66 @@
449
449
  </td>
450
450
  </tr>
451
451
  <tr>
452
- <td align="left" bgcolor="#ffffff">
453
- <div class="invoicedetailsframe">
454
- <div class="invoicedetailscontent">
455
- <div class="column">
456
- <div class="table-header-cell">
457
- <div class="table-header">
458
- <div class="text3">Description</div>
459
- </div>
460
- </div>
461
- <div class="table-cell">
462
- <div class="text4">Traffic</div>
463
- </div>
464
-
465
- </div>
466
- <div class="column">
467
- <div class="table-header-cell">
468
- <div class="table-header2">
469
- <div class="text5">Price</div>
470
- </div>
471
- </div>
472
- <div class="table-cell">
473
- <div class="text6">$200</div>
474
- </div>
475
-
476
- </div>
477
- <div class="column">
478
- <div class="table-header-cell">
479
- <div class="table-header3">
480
- <div class="text5">Stores</div>
481
- </div>
482
- </div>
483
- <div class="table-cell">
484
- <div class="text6">1 - 100</div>
485
- </div>
486
-
487
- </div>
488
- <div class="column">
489
- <div class="table-header-cell">
490
- <div class="table-header2">
491
- <div class="text5">Total Amount</div>
492
- </div>
493
- </div>
494
- <div class="table-cell">
495
- <div class="text6">$20,000</div>
496
- </div>
497
-
498
- </div>
499
- </div>
500
- </div>
501
- </td>
502
- </tr>
503
- <tr>
504
- <td align="left" bgcolor="#ffffff" ss>
505
- <div class="billingvalueframe">
506
- <div class="subtotal">
507
- <div class="framestartvalue">
508
- <div class="text7">Sub Total</div>
509
- </div>
510
- <div class="frame-endvalue">
511
- <div class="text8">$0</div>
512
- </div>
513
- </div>
514
- <div class="IGST">
515
- <div class="framestartvalue">
516
- <div class="text7">IGST</div>
517
- </div>
518
- <div class="frame-endvalue">
519
- <div class="text8">9%</div>
520
- </div>
521
- </div>
522
- <div class="CGST">
523
- <div class="framestartvalue">
524
- <div class="text7">CGST</div>
525
- </div>
526
- <div class="frame-endvalue">
527
- <div class="text8">9%</div>
528
- </div>
529
- </div>
530
- <div class="Total">
531
- <div class="framestartvalue">
532
- <div class="text7">Total</div>
533
- </div>
534
- <div class="frame-endvalue">
535
- <div class="text8">$0</div>
536
- </div>
537
- </div>
538
- <div class="Discount">
539
- <div class="framestartvalue">
540
- <div class="text7">Discount</div>
541
- </div>
542
- <div class="frame-endvalue">
543
- <div class="text8">0% (- $0 )</div>
544
- </div>
545
- </div>
546
- <div class="divider">
547
- <svg class="container" width="541" height="1" viewBox="0 0 541 1"
548
- fill="none" xmlns="http://www.w3.org/2000/svg">
549
- <path fill-rule="evenodd" clip-rule="evenodd" d="M509 1H32V0H509V1Z"
550
- fill="#EAECF0" />
551
- </svg>
552
- </div>
553
- <div class="finalvalue">
554
- <div class="framestartvalue">
555
- <div class="text7">Final Value</div>
556
- </div>
557
- <div class="frame-endvalue">
558
- <div class="text8">$0</div>
559
- </div>
560
- </div>
561
- </div>
452
+ <td class="o_bg-white o_px-md o_py-xl o_xs-py-md"
453
+ style="background-color: #ffffff;padding-left: 30px;padding-right: 24px;padding-bottom: 10px;">
454
+ <table style="max-width: 600px;border:none" border="0" cellpadding="0" cellspacing="0" width="100%">
455
+ <tr style="border:none;height:40px;margin-top:10px;text-align:left">
456
+ <th style="width:300px;">Description</th>
457
+ <th style="width:120px;">Price</th>
458
+ <th style="width:120px;">Stores</th>
459
+ <th style="width:120px;">Total Amount</th>
460
+ </tr>
461
+ {{#each data.products}}
462
+ <tr style="border:none;margin-top:10px;">
463
+ <td>{{product.product}}</td>
464
+ <td>${{basePrice}}</td>
465
+ <td>{{count}}</td>
466
+ <td>${{price}}</td>
467
+ </tr>
468
+ {{/each}}
469
+ <tr style="border:none;">
470
+ <td></td>
471
+ <td></td>
472
+ <td></td>
473
+ <td></td>
474
+ </tr>
475
+ <tr style="border:none;border-top: 5px solid #eaecf0;margin-top:10px;">
476
+ <td>Sub Total</td>
477
+ <td></td>
478
+ <td></td>
479
+ <td>${{data.amount}}</td>
480
+ </tr>
481
+ <tr style="border:none;margin-top:10px;">
482
+ <td>IGST</td>
483
+ <td></td>
484
+ <td></td>
485
+ <td>0%</td>
486
+ </tr>
487
+ <tr style="border:none;margin-top:10px;">
488
+ <td>Total</td>
489
+ <td></td>
490
+ <td></td>
491
+ <td>${{data.total}}</td>
492
+ </tr>
493
+ <tr style="border:none;margin-top:10px;">
494
+ <td>Discount</td>
495
+ <td></td>
496
+ <td></td>
497
+ <td>{{data.discount}}</td>
498
+ </tr>
499
+ <tr style="border:none;">
500
+ <td></td>
501
+ <td></td>
502
+ <td></td>
503
+ <td></td>
504
+ </tr>
505
+ <tr style="border:none;border-top: 5px solid #eaecf0;margin-top:10px;">
506
+ <td>Final Value</td>
507
+ <td></td>
508
+ <td></td>
509
+ <td>${{data.total}}</td>
510
+ </tr>
511
+ </table>
562
512
  </td>
563
513
  </tr>
564
514
  </table>