summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2021/captions/emacsconf-2021-invoice--find-your-invoice-emacs-for-invoicing--bala-ramadurai--main.vtt706
-rw-r--r--2021/captions/invoice.md236
2 files changed, 942 insertions, 0 deletions
diff --git a/2021/captions/emacsconf-2021-invoice--find-your-invoice-emacs-for-invoicing--bala-ramadurai--main.vtt b/2021/captions/emacsconf-2021-invoice--find-your-invoice-emacs-for-invoicing--bala-ramadurai--main.vtt
new file mode 100644
index 00000000..5336dde4
--- /dev/null
+++ b/2021/captions/emacsconf-2021-invoice--find-your-invoice-emacs-for-invoicing--bala-ramadurai--main.vtt
@@ -0,0 +1,706 @@
+WEBVTT
+
+00:10.290 --> 00:22.480
+What is an invoice?
+
+00:22.480 --> 00:25.630
+Invoice is a document
+
+00:25.630 --> 00:28.660
+that you give it to your customer
+
+00:28.660 --> 00:30.416
+so that they can pay you
+
+00:30.416 --> 00:31.450
+for your service or your goods.
+
+00:31.450 --> 00:35.720
+But you are a professor and consultant.
+
+00:35.720 --> 00:38.730
+Why do you need to generate invoices?
+
+00:38.730 --> 00:39.730
+Well...
+
+00:39.730 --> 00:46.640
+I do a service for my clients
+
+00:46.640 --> 00:47.884
+if I'm a consultant,
+
+00:47.884 --> 00:48.999
+and when I'm a professor,
+
+00:48.999 --> 00:51.530
+I'm teaching students,
+
+00:51.530 --> 00:54.910
+so I have to generate an invoice.
+
+00:54.910 --> 00:58.420
+Why not use Excel or something simple
+
+00:58.420 --> 01:00.079
+to generate your invoices?
+
+01:00.079 --> 01:01.079
+I've tried that.
+
+01:01.079 --> 01:04.609
+It's no good, when it... particularly,
+
+01:04.609 --> 01:07.150
+when there are many clients,
+
+01:07.150 --> 01:09.035
+managing Excels and templates
+
+01:09.035 --> 01:10.799
+becomes very very tricky.
+
+01:10.799 --> 01:15.725
+Why don't you hire someone, you know, professional
+
+01:15.725 --> 01:17.350
+to do these for you?
+
+01:17.350 --> 01:18.428
+I've tried it.
+
+01:18.428 --> 01:22.381
+I have to give them lots of information.
+
+01:22.381 --> 01:25.140
+Not that there's anything wrong with them,
+
+01:25.140 --> 01:30.130
+just that I found it to be a bit too tricky.
+
+01:30.130 --> 01:31.250
+Professional software?
+
+01:31.250 --> 01:33.902
+Good point. I've tried that too.
+
+01:33.902 --> 01:36.900
+But, what's the fun in that, right?
+
+01:36.900 --> 01:38.850
+So what did you do?
+
+01:38.850 --> 01:40.869
+Haa.. this is the interesting part!
+
+01:40.869 --> 01:45.600
+I took a software called Emacs Org mode
+
+01:45.600 --> 01:50.640
+and with that, I added Python code to it.
+
+01:50.640 --> 01:52.418
+I added so many other things to it,
+
+01:52.418 --> 01:56.168
+and then it became a really nice
+
+01:56.168 --> 01:59.640
+customizable way to generate invoices.
+
+01:59.640 --> 02:04.549
+Whoa whoa whoa... Just slow it down, bro.
+
+02:04.549 --> 02:06.659
+Give me the story.
+
+02:06.659 --> 02:10.170
+Hey. Okay... Okay... I will.
+
+02:10.170 --> 02:11.170
+Story.
+
+02:11.170 --> 02:14.620
+Uh.. Story is simple.
+
+02:14.620 --> 02:16.590
+The client wanted an invoice.
+
+02:16.590 --> 02:19.900
+So, I generated an invoice.
+
+02:19.900 --> 02:21.419
+It wasn't good enough.
+
+02:21.419 --> 02:24.959
+So, I hacked some little bit of it.
+
+02:24.959 --> 02:28.480
+I changed every time a new client came.
+
+02:28.480 --> 02:29.848
+I had to do it all over again.
+
+02:29.848 --> 02:30.989
+I did that. I did it.
+
+02:30.989 --> 02:33.110
+Then I got really tired of it.
+
+02:33.110 --> 02:36.760
+And that's what led me to all these customizations.
+
+02:36.760 --> 02:38.632
+I want features.
+
+02:38.632 --> 02:43.249
+So, rapid fire questions. Ready? Yep.
+
+02:43.249 --> 02:46.079
+Project management? Yep.
+
+02:46.079 --> 02:48.079
+Format customization? Yes.
+
+02:48.079 --> 02:50.079
+PDF export? Yes.
+
+02:50.079 --> 02:52.079
+Multi-client support? Yes.
+
+02:52.079 --> 02:53.579
+Washing my clothes?
+
+02:53.579 --> 02:54.959
+Yes... No.
+
+02:54.959 --> 02:57.013
+Haa. I was just testing you,
+
+02:57.013 --> 03:00.900
+if you're paying attention or not.
+
+03:00.900 --> 03:04.659
+Logo and signature customization? Yes.
+
+03:04.659 --> 03:06.730
+Multi-currency support? Yes.
+
+03:06.730 --> 03:08.930
+Okay, enough talky or it's just...
+
+03:08.930 --> 03:10.930
+Can you show me a demo that you did?
+
+03:10.930 --> 03:12.950
+Or is it just talky.
+
+03:12.950 --> 03:15.239
+Yes, of course. Demo.
+
+03:15.239 --> 03:16.969
+Okay, demo time.
+
+03:16.969 --> 03:18.909
+Some ingredients for invoicing.
+
+03:18.909 --> 03:21.069
+Org mode, of course.
+
+03:21.069 --> 03:23.849
+Python environment and libraries for Python:
+
+03:23.849 --> 03:25.930
+pandas, tabulate, numbers.
+
+03:25.930 --> 03:28.260
+yasnippet package, very useful.
+
+03:28.260 --> 03:30.969
+And I use for LaTeX, MikTeX packages.
+
+03:30.969 --> 03:34.090
+So, I have a project already set up.
+
+03:34.090 --> 03:36.540
+This is what we have.
+
+03:36.540 --> 03:38.673
+The project is Teaching 2021
+
+03:38.673 --> 03:41.239
+and you can set all this up.
+
+03:41.239 --> 03:43.819
+So let's start with the first and foremost.
+
+03:43.819 --> 03:46.849
+Okay, so we're going to use
+
+03:46.849 --> 03:49.209
+the yasnippet package.
+
+03:49.209 --> 03:52.219
+uh.. um.. sorry, the invoice, okay.
+
+03:52.219 --> 03:54.550
+This one introduced, it gives you this whole...
+
+03:54.550 --> 03:56.377
+generates this whole bunch of code
+
+03:56.377 --> 03:57.150
+based on a template.
+
+03:57.150 --> 03:58.371
+All you're going to do
+
+03:58.371 --> 04:00.939
+is to type out the client's name.
+
+04:00.939 --> 04:02.797
+Okay and that's it.
+
+04:02.797 --> 04:04.469
+That's all there is to it.
+
+04:04.469 --> 04:06.446
+Okay there's a whole bunch of instructions
+
+04:06.446 --> 04:07.199
+that you can follow.
+
+04:07.199 --> 04:09.284
+If it's for the first time,
+
+04:09.284 --> 04:10.549
+use bankinfo.org.
+
+04:10.549 --> 04:14.409
+Let's check out what bankinfo.org involves.
+
+04:14.409 --> 04:16.819
+Okay so you can copy this template
+
+04:16.819 --> 04:19.269
+from my GitHub repository.
+
+04:19.269 --> 04:24.300
+It's basically setup of the LaTeX tags,
+
+04:24.300 --> 04:26.854
+and particularly this text file,
+
+04:26.854 --> 04:28.620
+which is a template.
+
+04:28.620 --> 04:30.469
+There's some personal info
+
+04:30.469 --> 04:32.125
+for all the details that you want.
+
+04:32.125 --> 04:33.814
+Bank information.
+
+04:33.814 --> 04:35.580
+You can look at it in detail
+
+04:35.580 --> 04:40.330
+from my repo. The tax invoice...
+
+04:40.330 --> 04:42.840
+There are some basic constructs.
+
+04:42.840 --> 04:45.809
+You can totally change any of these
+
+04:45.809 --> 04:47.620
+to your liking.
+
+04:47.620 --> 04:50.320
+Okay, so that's bank info.
+
+04:50.320 --> 04:52.200
+Go back. That's the first part.
+
+04:52.200 --> 04:55.540
+The second part is creating a client name.
+
+04:55.540 --> 04:58.420
+So let's look at this setup,
+
+04:58.420 --> 05:00.710
+and I have one created already.
+
+05:00.710 --> 05:02.804
+So, in order to create this,
+
+05:02.804 --> 05:03.880
+all you need to do
+
+05:03.880 --> 05:06.610
+is to use the inv-setup
+
+05:06.610 --> 05:10.300
+invoice setup for your client,
+
+05:10.300 --> 05:12.230
+and it will give you all the information.
+
+05:12.230 --> 05:14.790
+All you need to do is type in here
+
+05:14.790 --> 05:16.410
+and then type in the client's name,
+
+05:16.410 --> 05:18.785
+exactly the same that you see
+
+05:18.785 --> 05:20.210
+as the file name.
+
+05:20.210 --> 05:22.620
+Okay, client one. And that's it.
+
+05:22.620 --> 05:24.250
+You're all set for you.
+
+05:24.250 --> 05:26.218
+Okay, so that's what it looks like.
+
+05:26.218 --> 05:28.043
+All the address and stuff
+
+05:28.043 --> 05:29.710
+filled out here.
+
+05:29.710 --> 05:32.131
+Okay. And then the next one
+
+05:32.131 --> 05:37.010
+is to use the... One time,
+
+05:37.010 --> 05:38.890
+you're going to do the invoice item,
+
+05:38.890 --> 05:40.590
+which is the rate table.
+
+05:40.590 --> 05:42.490
+So let's do the invoice.
+
+05:42.490 --> 05:44.400
+Invoice item...
+
+05:44.400 --> 05:47.080
+This is item master.
+
+05:47.080 --> 05:50.320
+So here again, another place
+
+05:50.320 --> 05:53.060
+where you have to enter the client name,
+
+05:53.060 --> 05:56.780
+and your rate table is ready for use.
+
+05:56.780 --> 05:58.891
+Okay. So that was...
+
+05:58.891 --> 06:00.749
+Now we go to step two,
+
+06:00.749 --> 06:02.510
+which is clock table for reference.
+
+06:02.510 --> 06:04.150
+Okay. Let's go to the clock table.
+
+06:04.150 --> 06:09.660
+I already set up this for ACMEClient1,
+
+06:09.660 --> 06:12.030
+and I give it a tag: billable.
+
+06:12.030 --> 06:13.260
+Okay. We will see that...
+
+06:13.260 --> 06:17.470
+Where have I done that?
+
+06:17.470 --> 06:23.890
+Okay, so that's the client, you know,
+
+06:23.890 --> 06:25.360
+ACMEClient1 table teaching 2021.
+
+06:25.360 --> 06:29.090
+I've clocked it for the previous month.
+
+06:29.090 --> 06:30.090
+That's what you will see.
+
+06:30.090 --> 06:31.090
+Let's see it again.
+
+06:31.090 --> 06:34.840
+Okay. That's... Let's put the instructions.
+
+06:34.840 --> 06:38.110
+And then you go to clock table
+
+06:38.110 --> 06:40.490
+to generate the clock table for the client.
+
+06:40.490 --> 06:42.342
+Okay. So clock table...
+
+06:42.342 --> 06:44.335
+This is only for your reference,
+
+06:44.335 --> 06:45.484
+not going to be exported.
+
+06:45.484 --> 06:50.586
+Here we get a clock table. All right.
+
+06:50.586 --> 06:53.150
+So with this, you get the clock table.
+
+06:53.150 --> 06:55.670
+Okay. Now go into the items part.
+
+06:55.670 --> 06:59.810
+You will see two Python blocks,
+
+06:59.810 --> 07:01.500
+which is what the next instruction says.
+
+07:01.500 --> 07:03.526
+Go into the python block
+
+07:03.526 --> 07:06.180
+and do Control-c c (C-c c).
+
+07:06.180 --> 07:09.860
+Go to the control python source block,
+
+07:09.860 --> 07:12.413
+second one, and do Ctrl-c c...
+
+07:12.413 --> 07:14.490
+Ctrl-c Ctrl-c (C-c C-c) rather.
+
+07:14.490 --> 07:16.028
+and then finally come back
+
+07:16.028 --> 07:18.765
+to Raise Invoice and do dispatcher
+
+07:18.765 --> 07:21.270
+which is exported into PDF.
+
+07:21.270 --> 07:22.718
+Okay, let's do that.
+
+07:22.718 --> 07:27.853
+First one is... I just run this code,
+
+07:27.853 --> 07:30.950
+and it generated this table for me.
+
+07:30.950 --> 07:34.160
+Okay. So it has all the details.
+
+07:34.160 --> 07:35.253
+Now we go in
+
+07:35.253 --> 07:39.560
+the second source code block,
+
+07:39.560 --> 07:41.700
+and does all this...
+
+07:41.700 --> 07:43.530
+And it has generated this stuff.
+
+07:43.530 --> 07:46.335
+Plus, you should note that for beancount,
+
+07:46.335 --> 07:50.795
+it has also generated the block for that.
+
+07:50.795 --> 07:51.775
+It's all in the code.
+
+07:51.775 --> 07:53.820
+You can customize it if you're on Ledger.
+
+07:53.820 --> 07:54.782
+You can customize it
+
+07:54.782 --> 07:55.390
+to the way you want,
+
+07:55.390 --> 07:56.978
+any accounts that you want to change.
+
+07:56.978 --> 07:58.870
+It's all customizable.
+
+07:58.870 --> 08:00.710
+Here, even the currency symbols
+
+08:00.710 --> 08:02.840
+can be changed from INR and Rupees
+
+08:02.840 --> 08:04.681
+to whatever currency you have
+
+08:04.681 --> 08:07.190
+can be changed accordingly.
+
+08:07.190 --> 08:11.304
+I have org-babel-tangle-append code
+
+08:11.304 --> 08:12.650
+that I will share in the...
+
+08:12.650 --> 08:13.872
+I've borrowed it
+
+08:13.872 --> 08:14.889
+from somebody on the Internet,
+
+08:14.889 --> 08:16.440
+so I'll share that as well
+
+08:16.440 --> 08:18.650
+in my GitHub repo.
+
+08:18.650 --> 08:20.830
+Lastly, I just want to share that
+
+08:20.830 --> 08:23.730
+you can fill your GST website
+
+08:23.730 --> 08:24.988
+with these info,
+
+08:24.988 --> 08:26.171
+so you can... You can even put in
+
+08:26.171 --> 08:27.590
+as many entries as you want
+
+08:27.590 --> 08:29.370
+in your yasnippet.
+
+08:29.370 --> 08:30.560
+Customize it the way you want.
+
+08:30.560 --> 08:32.590
+I also added a month later
+
+08:32.590 --> 08:33.820
+due date reminder,
+
+08:33.820 --> 08:36.239
+saying if the invoice is paid or not.
+
+08:36.239 --> 08:37.209
+Okay.
+
+08:37.209 --> 08:42.051
+So, a few tips to end this demo.
+
+08:42.051 --> 08:44.990
+You can customize currency symbol
+
+08:44.990 --> 08:45.860
+and currency words
+
+08:45.860 --> 08:47.540
+according to your own currency.
+
+08:47.540 --> 08:51.269
+I use the European/Indian date format
+
+08:51.269 --> 08:54.980
+which is %d-%m-%Y. You can also...
+
+08:54.980 --> 08:56.816
+The language is Indian English,
+
+08:56.816 --> 08:57.998
+so it will change according--
+
+08:57.998 --> 08:59.860
+the numerals change according to the
+
+08:59.860 --> 09:02.180
+Indian format. Numbering format
+
+09:02.180 --> 09:04.959
+for invoice number is today's date
+
+09:04.959 --> 09:06.620
+followed by client name.
+
+09:06.620 --> 09:07.959
+That's my default.
+
+09:07.959 --> 09:11.120
+You can customize that as well.
+
+09:11.120 --> 09:13.574
+Let's try and export this
+
+09:13.574 --> 09:17.325
+to the subtree. Ctrl-s.
+
+09:17.325 --> 09:20.579
+So that's step number seven.
+
+09:20.579 --> 09:22.029
+And there it is,
+
+09:22.029 --> 09:23.339
+the tax invoice
+
+09:23.339 --> 09:25.870
+for Dr. Wile E. Coyote,
+
+09:25.870 --> 09:27.810
+and with a lovely signature as well.
+
+09:27.810 --> 09:29.990
+[Interviewer:] Well, that's great!
+
+09:29.990 --> 09:34.309
+If I were to try this out, what do I do?
+
+09:34.309 --> 09:36.779
+Go to github.com, into my repository.
+
+09:36.779 --> 09:38.915
+I'll leave my GitHub URL.
+
+09:38.915 --> 09:42.790
+You can download it use it,
+
+09:42.790 --> 09:43.848
+and let me know
+
+09:43.848 --> 09:46.829
+how it pans out for you.
+
+09:46.829 --> 09:47.632
+[Interviewer:] I have spent
+
+00:09:47.632 -- 00:09:49.018
+so much time on this.
+
+00:09:49.018 -- 00:09:50.060
+May I invoice you?
diff --git a/2021/captions/invoice.md b/2021/captions/invoice.md
new file mode 100644
index 00000000..27b0bcc0
--- /dev/null
+++ b/2021/captions/invoice.md
@@ -0,0 +1,236 @@
+<a name="transcript"></a>
+# Transcript
+
+[[!template text="What is an invoice?" start="00:00:10.290" video="mainVideo" id=subtitle]]
+[[!template text="Invoice is a document" start="00:00:22.480" video="mainVideo" id=subtitle]]
+[[!template text="that you give it to your customer" start="00:00:25.630" video="mainVideo" id=subtitle]]
+[[!template text="so that they can pay you" start="00:00:28.660" video="mainVideo" id=subtitle]]
+[[!template text="for your service or your goods." start="00:00:30.416" video="mainVideo" id=subtitle]]
+[[!template text="But you are a professor and consultant." start="00:00:31.450" video="mainVideo" id=subtitle]]
+[[!template text="Why do you need to generate invoices?" start="00:00:35.720" video="mainVideo" id=subtitle]]
+[[!template text="Well..." start="00:00:38.730" video="mainVideo" id=subtitle]]
+[[!template text="I do a service for my clients" start="00:00:39.730" video="mainVideo" id=subtitle]]
+[[!template text="if I'm a consultant," start="00:00:46.640" video="mainVideo" id=subtitle]]
+[[!template text="and when I'm a professor," start="00:00:47.884" video="mainVideo" id=subtitle]]
+[[!template text="I'm teaching students," start="00:00:48.999" video="mainVideo" id=subtitle]]
+[[!template text="so I have to generate an invoice." start="00:00:51.530" video="mainVideo" id=subtitle]]
+[[!template text="Why not use Excel or something simple" start="00:00:54.910" video="mainVideo" id=subtitle]]
+[[!template text="to generate your invoices?" start="00:00:58.420" video="mainVideo" id=subtitle]]
+[[!template text="I've tried that." start="00:01:00.079" video="mainVideo" id=subtitle]]
+[[!template text="It's no good, when it... particularly," start="00:01:01.079" video="mainVideo" id=subtitle]]
+[[!template text="when there are many clients," start="00:01:04.609" video="mainVideo" id=subtitle]]
+[[!template text="managing Excels and templates" start="00:01:07.150" video="mainVideo" id=subtitle]]
+[[!template text="becomes very very tricky." start="00:01:09.035" video="mainVideo" id=subtitle]]
+[[!template text="Why don't you hire someone, you know, professional" start="00:01:10.799" video="mainVideo" id=subtitle]]
+[[!template text="to do these for you?" start="00:01:15.725" video="mainVideo" id=subtitle]]
+[[!template text="I've tried it." start="00:01:17.350" video="mainVideo" id=subtitle]]
+[[!template text="I have to give them lots of information." start="00:01:18.428" video="mainVideo" id=subtitle]]
+[[!template text="Not that there's anything wrong with them," start="00:01:22.381" video="mainVideo" id=subtitle]]
+[[!template text="just that I found it to be a bit too tricky." start="00:01:25.140" video="mainVideo" id=subtitle]]
+[[!template text="Professional software?" start="00:01:30.130" video="mainVideo" id=subtitle]]
+[[!template text="Good point. I've tried that too." start="00:01:31.250" video="mainVideo" id=subtitle]]
+[[!template text="But, what's the fun in that, right?" start="00:01:33.902" video="mainVideo" id=subtitle]]
+[[!template text="So what did you do?" start="00:01:36.900" video="mainVideo" id=subtitle]]
+[[!template text="Haa.. this is the interesting part!" start="00:01:38.850" video="mainVideo" id=subtitle]]
+[[!template text="I took a software called Emacs Org mode" start="00:01:40.869" video="mainVideo" id=subtitle]]
+[[!template text="and with that, I added Python code to it." start="00:01:45.600" video="mainVideo" id=subtitle]]
+[[!template text="I added so many other things to it," start="00:01:50.640" video="mainVideo" id=subtitle]]
+[[!template text="and then it became a really nice" start="00:01:52.418" video="mainVideo" id=subtitle]]
+[[!template text="customizable way to generate invoices." start="00:01:56.168" video="mainVideo" id=subtitle]]
+[[!template text="Whoa whoa whoa... Just slow it down, bro." start="00:01:59.640" video="mainVideo" id=subtitle]]
+[[!template text="Give me the story." start="00:02:04.549" video="mainVideo" id=subtitle]]
+[[!template text="Hey. Okay... Okay... I will." start="00:02:06.659" video="mainVideo" id=subtitle]]
+[[!template text="Story." start="00:02:10.170" video="mainVideo" id=subtitle]]
+[[!template text="Uh.. Story is simple." start="00:02:11.170" video="mainVideo" id=subtitle]]
+[[!template text="The client wanted an invoice." start="00:02:14.620" video="mainVideo" id=subtitle]]
+[[!template text="So, I generated an invoice." start="00:02:16.590" video="mainVideo" id=subtitle]]
+[[!template text="It wasn't good enough." start="00:02:19.900" video="mainVideo" id=subtitle]]
+[[!template text="So, I hacked some little bit of it." start="00:02:21.419" video="mainVideo" id=subtitle]]
+[[!template text="I changed every time a new client came." start="00:02:24.959" video="mainVideo" id=subtitle]]
+[[!template text="I had to do it all over again." start="00:02:28.480" video="mainVideo" id=subtitle]]
+[[!template text="I did that. I did it." start="00:02:29.848" video="mainVideo" id=subtitle]]
+[[!template text="Then I got really tired of it." start="00:02:30.989" video="mainVideo" id=subtitle]]
+[[!template text="And that's what led me to all these customizations." start="00:02:33.110" video="mainVideo" id=subtitle]]
+[[!template text="I want features." start="00:02:36.760" video="mainVideo" id=subtitle]]
+[[!template text="So, rapid fire questions. Ready? Yep." start="00:02:38.632" video="mainVideo" id=subtitle]]
+[[!template text="Project management? Yep." start="00:02:43.249" video="mainVideo" id=subtitle]]
+[[!template text="Format customization? Yes." start="00:02:46.079" video="mainVideo" id=subtitle]]
+[[!template text="PDF export? Yes." start="00:02:48.079" video="mainVideo" id=subtitle]]
+[[!template text="Multi-client support? Yes." start="00:02:50.079" video="mainVideo" id=subtitle]]
+[[!template text="Washing my clothes?" start="00:02:52.079" video="mainVideo" id=subtitle]]
+[[!template text="Yes... No." start="00:02:53.579" video="mainVideo" id=subtitle]]
+[[!template text="Haa. I was just testing you," start="00:02:54.959" video="mainVideo" id=subtitle]]
+[[!template text="if you're paying attention or not." start="00:02:57.013" video="mainVideo" id=subtitle]]
+[[!template text="Logo and signature customization? Yes." start="00:03:00.900" video="mainVideo" id=subtitle]]
+[[!template text="Multi-currency support? Yes." start="00:03:04.659" video="mainVideo" id=subtitle]]
+[[!template text="Okay, enough talky or it's just..." start="00:03:06.730" video="mainVideo" id=subtitle]]
+[[!template text="Can you show me a demo that you did?" start="00:03:08.930" video="mainVideo" id=subtitle]]
+[[!template text="Or is it just talky." start="00:03:10.930" video="mainVideo" id=subtitle]]
+[[!template text="Yes, of course. Demo." start="00:03:12.950" video="mainVideo" id=subtitle]]
+[[!template text="Okay, demo time." start="00:03:15.239" video="mainVideo" id=subtitle]]
+[[!template text="Some ingredients for invoicing." start="00:03:16.969" video="mainVideo" id=subtitle]]
+[[!template text="Org mode, of course." start="00:03:18.909" video="mainVideo" id=subtitle]]
+[[!template text="Python environment and libraries for Python:" start="00:03:21.069" video="mainVideo" id=subtitle]]
+[[!template text="pandas, tabulate, numbers." start="00:03:23.849" video="mainVideo" id=subtitle]]
+[[!template text="yasnippet package, very useful." start="00:03:25.930" video="mainVideo" id=subtitle]]
+[[!template text="And I use for LaTeX, MikTeX packages." start="00:03:28.260" video="mainVideo" id=subtitle]]
+[[!template text="So, I have a project already set up." start="00:03:30.969" video="mainVideo" id=subtitle]]
+[[!template text="This is what we have." start="00:03:34.090" video="mainVideo" id=subtitle]]
+[[!template text="The project is Teaching 2021" start="00:03:36.540" video="mainVideo" id=subtitle]]
+[[!template text="and you can set all this up." start="00:03:38.673" video="mainVideo" id=subtitle]]
+[[!template text="So let's start with the first and foremost." start="00:03:41.239" video="mainVideo" id=subtitle]]
+[[!template text="Okay, so we're going to use" start="00:03:43.819" video="mainVideo" id=subtitle]]
+[[!template text="the yasnippet package." start="00:03:46.849" video="mainVideo" id=subtitle]]
+[[!template text="uh.. um.. sorry, the invoice, okay." start="00:03:49.209" video="mainVideo" id=subtitle]]
+[[!template text="This one introduced, it gives you this whole..." start="00:03:52.219" video="mainVideo" id=subtitle]]
+[[!template text="generates this whole bunch of code" start="00:03:54.550" video="mainVideo" id=subtitle]]
+[[!template text="based on a template." start="00:03:56.377" video="mainVideo" id=subtitle]]
+[[!template text="All you're going to do" start="00:03:57.150" video="mainVideo" id=subtitle]]
+[[!template text="is to type out the client's name." start="00:03:58.371" video="mainVideo" id=subtitle]]
+[[!template text="Okay and that's it." start="00:04:00.939" video="mainVideo" id=subtitle]]
+[[!template text="That's all there is to it." start="00:04:02.797" video="mainVideo" id=subtitle]]
+[[!template text="Okay there's a whole bunch of instructions" start="00:04:04.469" video="mainVideo" id=subtitle]]
+[[!template text="that you can follow." start="00:04:06.446" video="mainVideo" id=subtitle]]
+[[!template text="If it's for the first time," start="00:04:07.199" video="mainVideo" id=subtitle]]
+[[!template text="use bankinfo.org." start="00:04:09.284" video="mainVideo" id=subtitle]]
+[[!template text="Let's check out what bankinfo.org involves." start="00:04:10.549" video="mainVideo" id=subtitle]]
+[[!template text="Okay so you can copy this template" start="00:04:14.409" video="mainVideo" id=subtitle]]
+[[!template text="from my GitHub repository." start="00:04:16.819" video="mainVideo" id=subtitle]]
+[[!template text="It's basically setup of the LaTeX tags," start="00:04:19.269" video="mainVideo" id=subtitle]]
+[[!template text="and particularly this text file," start="00:04:24.300" video="mainVideo" id=subtitle]]
+[[!template text="which is a template." start="00:04:26.854" video="mainVideo" id=subtitle]]
+[[!template text="There's some personal info" start="00:04:28.620" video="mainVideo" id=subtitle]]
+[[!template text="for all the details that you want." start="00:04:30.469" video="mainVideo" id=subtitle]]
+[[!template text="Bank information." start="00:04:32.125" video="mainVideo" id=subtitle]]
+[[!template text="You can look at it in detail" start="00:04:33.814" video="mainVideo" id=subtitle]]
+[[!template text="from my repo. The tax invoice..." start="00:04:35.580" video="mainVideo" id=subtitle]]
+[[!template text="There are some basic constructs." start="00:04:40.330" video="mainVideo" id=subtitle]]
+[[!template text="You can totally change any of these" start="00:04:42.840" video="mainVideo" id=subtitle]]
+[[!template text="to your liking." start="00:04:45.809" video="mainVideo" id=subtitle]]
+[[!template text="Okay, so that's bank info." start="00:04:47.620" video="mainVideo" id=subtitle]]
+[[!template text="Go back. That's the first part." start="00:04:50.320" video="mainVideo" id=subtitle]]
+[[!template text="The second part is creating a client name." start="00:04:52.200" video="mainVideo" id=subtitle]]
+[[!template text="So let's look at this setup," start="00:04:55.540" video="mainVideo" id=subtitle]]
+[[!template text="and I have one created already." start="00:04:58.420" video="mainVideo" id=subtitle]]
+[[!template text="So, in order to create this," start="00:05:00.710" video="mainVideo" id=subtitle]]
+[[!template text="all you need to do" start="00:05:02.804" video="mainVideo" id=subtitle]]
+[[!template text="is to use the inv-setup" start="00:05:03.880" video="mainVideo" id=subtitle]]
+[[!template text="invoice setup for your client," start="00:05:06.610" video="mainVideo" id=subtitle]]
+[[!template text="and it will give you all the information." start="00:05:10.300" video="mainVideo" id=subtitle]]
+[[!template text="All you need to do is type in here" start="00:05:12.230" video="mainVideo" id=subtitle]]
+[[!template text="and then type in the client's name," start="00:05:14.790" video="mainVideo" id=subtitle]]
+[[!template text="exactly the same that you see" start="00:05:16.410" video="mainVideo" id=subtitle]]
+[[!template text="as the file name." start="00:05:18.785" video="mainVideo" id=subtitle]]
+[[!template text="Okay, client one. And that's it." start="00:05:20.210" video="mainVideo" id=subtitle]]
+[[!template text="You're all set for you." start="00:05:22.620" video="mainVideo" id=subtitle]]
+[[!template text="Okay, so that's what it looks like." start="00:05:24.250" video="mainVideo" id=subtitle]]
+[[!template text="All the address and stuff" start="00:05:26.218" video="mainVideo" id=subtitle]]
+[[!template text="filled out here." start="00:05:28.043" video="mainVideo" id=subtitle]]
+[[!template text="Okay. And then the next one" start="00:05:29.710" video="mainVideo" id=subtitle]]
+[[!template text="is to use the... One time," start="00:05:32.131" video="mainVideo" id=subtitle]]
+[[!template text="you're going to do the invoice item," start="00:05:37.010" video="mainVideo" id=subtitle]]
+[[!template text="which is the rate table." start="00:05:38.890" video="mainVideo" id=subtitle]]
+[[!template text="So let's do the invoice." start="00:05:40.590" video="mainVideo" id=subtitle]]
+[[!template text="Invoice item..." start="00:05:42.490" video="mainVideo" id=subtitle]]
+[[!template text="This is item master." start="00:05:44.400" video="mainVideo" id=subtitle]]
+[[!template text="So here again, another place" start="00:05:47.080" video="mainVideo" id=subtitle]]
+[[!template text="where you have to enter the client name," start="00:05:50.320" video="mainVideo" id=subtitle]]
+[[!template text="and your rate table is ready for use." start="00:05:53.060" video="mainVideo" id=subtitle]]
+[[!template text="Okay. So that was..." start="00:05:56.780" video="mainVideo" id=subtitle]]
+[[!template text="Now we go to step two," start="00:05:58.891" video="mainVideo" id=subtitle]]
+[[!template text="which is clock table for reference." start="00:06:00.749" video="mainVideo" id=subtitle]]
+[[!template text="Okay. Let's go to the clock table." start="00:06:02.510" video="mainVideo" id=subtitle]]
+[[!template text="I already set up this for ACMEClient1," start="00:06:04.150" video="mainVideo" id=subtitle]]
+[[!template text="and I give it a tag: billable." start="00:06:09.660" video="mainVideo" id=subtitle]]
+[[!template text="Okay. We will see that..." start="00:06:12.030" video="mainVideo" id=subtitle]]
+[[!template text="Where have I done that?" start="00:06:13.260" video="mainVideo" id=subtitle]]
+[[!template text="Okay, so that's the client, you know," start="00:06:17.470" video="mainVideo" id=subtitle]]
+[[!template text="ACMEClient1 table teaching 2021." start="00:06:23.890" video="mainVideo" id=subtitle]]
+[[!template text="I've clocked it for the previous month." start="00:06:25.360" video="mainVideo" id=subtitle]]
+[[!template text="That's what you will see." start="00:06:29.090" video="mainVideo" id=subtitle]]
+[[!template text="Let's see it again." start="00:06:30.090" video="mainVideo" id=subtitle]]
+[[!template text="Okay. That's... Let's put the instructions." start="00:06:31.090" video="mainVideo" id=subtitle]]
+[[!template text="And then you go to clock table" start="00:06:34.840" video="mainVideo" id=subtitle]]
+[[!template text="to generate the clock table for the client." start="00:06:38.110" video="mainVideo" id=subtitle]]
+[[!template text="Okay. So clock table..." start="00:06:40.490" video="mainVideo" id=subtitle]]
+[[!template text="This is only for your reference," start="00:06:42.342" video="mainVideo" id=subtitle]]
+[[!template text="not going to be exported." start="00:06:44.335" video="mainVideo" id=subtitle]]
+[[!template text="Here we get a clock table. All right." start="00:06:45.484" video="mainVideo" id=subtitle]]
+[[!template text="So with this, you get the clock table." start="00:06:50.586" video="mainVideo" id=subtitle]]
+[[!template text="Okay. Now go into the items part." start="00:06:53.150" video="mainVideo" id=subtitle]]
+[[!template text="You will see two Python blocks," start="00:06:55.670" video="mainVideo" id=subtitle]]
+[[!template text="which is what the next instruction says." start="00:06:59.810" video="mainVideo" id=subtitle]]
+[[!template text="Go into the python block" start="00:07:01.500" video="mainVideo" id=subtitle]]
+[[!template text="and do Control-c c (C-c c)." start="00:07:03.526" video="mainVideo" id=subtitle]]
+[[!template text="Go to the control python source block," start="00:07:06.180" video="mainVideo" id=subtitle]]
+[[!template text="second one, and do Ctrl-c c..." start="00:07:09.860" video="mainVideo" id=subtitle]]
+[[!template text="Ctrl-c Ctrl-c (C-c C-c) rather." start="00:07:12.413" video="mainVideo" id=subtitle]]
+[[!template text="and then finally come back" start="00:07:14.490" video="mainVideo" id=subtitle]]
+[[!template text="to Raise Invoice and do dispatcher" start="00:07:16.028" video="mainVideo" id=subtitle]]
+[[!template text="which is exported into PDF." start="00:07:18.765" video="mainVideo" id=subtitle]]
+[[!template text="Okay, let's do that." start="00:07:21.270" video="mainVideo" id=subtitle]]
+[[!template text="First one is... I just run this code," start="00:07:22.718" video="mainVideo" id=subtitle]]
+[[!template text="and it generated this table for me." start="00:07:27.853" video="mainVideo" id=subtitle]]
+[[!template text="Okay. So it has all the details." start="00:07:30.950" video="mainVideo" id=subtitle]]
+[[!template text="Now we go in" start="00:07:34.160" video="mainVideo" id=subtitle]]
+[[!template text="the second source code block," start="00:07:35.253" video="mainVideo" id=subtitle]]
+[[!template text="and does all this..." start="00:07:39.560" video="mainVideo" id=subtitle]]
+[[!template text="And it has generated this stuff." start="00:07:41.700" video="mainVideo" id=subtitle]]
+[[!template text="Plus, you should note that for beancount," start="00:07:43.530" video="mainVideo" id=subtitle]]
+[[!template text="it has also generated the block for that." start="00:07:46.335" video="mainVideo" id=subtitle]]
+[[!template text="It's all in the code." start="00:07:50.795" video="mainVideo" id=subtitle]]
+[[!template text="You can customize it if you're on Ledger." start="00:07:51.775" video="mainVideo" id=subtitle]]
+[[!template text="You can customize it" start="00:07:53.820" video="mainVideo" id=subtitle]]
+[[!template text="to the way you want," start="00:07:54.782" video="mainVideo" id=subtitle]]
+[[!template text="any accounts that you want to change." start="00:07:55.390" video="mainVideo" id=subtitle]]
+[[!template text="It's all customizable." start="00:07:56.978" video="mainVideo" id=subtitle]]
+[[!template text="Here, even the currency symbols" start="00:07:58.870" video="mainVideo" id=subtitle]]
+[[!template text="can be changed from INR and Rupees" start="00:08:00.710" video="mainVideo" id=subtitle]]
+[[!template text="to whatever currency you have" start="00:08:02.840" video="mainVideo" id=subtitle]]
+[[!template text="can be changed accordingly." start="00:08:04.681" video="mainVideo" id=subtitle]]
+[[!template text="I have org-babel-tangle-append code" start="00:08:07.190" video="mainVideo" id=subtitle]]
+[[!template text="that I will share in the..." start="00:08:11.304" video="mainVideo" id=subtitle]]
+[[!template text="I've borrowed it" start="00:08:12.650" video="mainVideo" id=subtitle]]
+[[!template text="from somebody on the Internet," start="00:08:13.872" video="mainVideo" id=subtitle]]
+[[!template text="so I'll share that as well" start="00:08:14.889" video="mainVideo" id=subtitle]]
+[[!template text="in my GitHub repo." start="00:08:16.440" video="mainVideo" id=subtitle]]
+[[!template text="Lastly, I just want to share that" start="00:08:18.650" video="mainVideo" id=subtitle]]
+[[!template text="you can fill your GST website" start="00:08:20.830" video="mainVideo" id=subtitle]]
+[[!template text="with these info," start="00:08:23.730" video="mainVideo" id=subtitle]]
+[[!template text="so you can... You can even put in" start="00:08:24.988" video="mainVideo" id=subtitle]]
+[[!template text="as many entries as you want" start="00:08:26.171" video="mainVideo" id=subtitle]]
+[[!template text="in your yasnippet." start="00:08:27.590" video="mainVideo" id=subtitle]]
+[[!template text="Customize it the way you want." start="00:08:29.370" video="mainVideo" id=subtitle]]
+[[!template text="I also added a month later" start="00:08:30.560" video="mainVideo" id=subtitle]]
+[[!template text="due date reminder," start="00:08:32.590" video="mainVideo" id=subtitle]]
+[[!template text="saying if the invoice is paid or not." start="00:08:33.820" video="mainVideo" id=subtitle]]
+[[!template text="Okay." start="00:08:36.239" video="mainVideo" id=subtitle]]
+[[!template text="So, a few tips to end this demo." start="00:08:37.209" video="mainVideo" id=subtitle]]
+[[!template text="You can customize currency symbol" start="00:08:42.051" video="mainVideo" id=subtitle]]
+[[!template text="and currency words" start="00:08:44.990" video="mainVideo" id=subtitle]]
+[[!template text="according to your own currency." start="00:08:45.860" video="mainVideo" id=subtitle]]
+[[!template text="I use the European/Indian date format" start="00:08:47.540" video="mainVideo" id=subtitle]]
+[[!template text="which is %d-%m-%Y. You can also..." start="00:08:51.269" video="mainVideo" id=subtitle]]
+[[!template text="The language is Indian English," start="00:08:54.980" video="mainVideo" id=subtitle]]
+[[!template text="so it will change according--" start="00:08:56.816" video="mainVideo" id=subtitle]]
+[[!template text="the numerals change according to the" start="00:08:57.998" video="mainVideo" id=subtitle]]
+[[!template text="Indian format. Numbering format" start="00:08:59.860" video="mainVideo" id=subtitle]]
+[[!template text="for invoice number is today's date" start="00:09:02.180" video="mainVideo" id=subtitle]]
+[[!template text="followed by client name." start="00:09:04.959" video="mainVideo" id=subtitle]]
+[[!template text="That's my default." start="00:09:06.620" video="mainVideo" id=subtitle]]
+[[!template text="You can customize that as well." start="00:09:07.959" video="mainVideo" id=subtitle]]
+[[!template text="Let's try and export this" start="00:09:11.120" video="mainVideo" id=subtitle]]
+[[!template text="to the subtree. Ctrl-s." start="00:09:13.574" video="mainVideo" id=subtitle]]
+[[!template text="So that's step number seven." start="00:09:17.325" video="mainVideo" id=subtitle]]
+[[!template text="And there it is," start="00:09:20.579" video="mainVideo" id=subtitle]]
+[[!template text="the tax invoice" start="00:09:22.029" video="mainVideo" id=subtitle]]
+[[!template text="for Dr. Wile E. Coyote," start="00:09:23.339" video="mainVideo" id=subtitle]]
+[[!template text="and with a lovely signature as well." start="00:09:25.870" video="mainVideo" id=subtitle]]
+[[!template text="Interviewer: Well, that's great!" start="00:09:27.810" video="mainVideo" id=subtitle]]
+[[!template text="If I were to try this out, what do I do?" start="00:09:29.990" video="mainVideo" id=subtitle]]
+[[!template text="Go to github.com, into my repository." start="00:09:34.309" video="mainVideo" id=subtitle]]
+[[!template text="I'll leave my GitHub URL." start="00:09:36.779" video="mainVideo" id=subtitle]]
+[[!template text="You can download it use it," start="00:09:38.915" video="mainVideo" id=subtitle]]
+[[!template text="and let me know" start="00:09:42.790" video="mainVideo" id=subtitle]]
+[[!template text="how it pans out for you." start="00:09:43.848" video="mainVideo" id=subtitle]]
+[[!template text="Interviewer: I have spent" start="00:09:46.829" video="mainVideo" id=subtitle]]