Nedavno sam se morao registrirati pod Porezom na robu i usluge (GST) kako bih mogao podnijeti zahtjev za GST za svoju zaradu.
Nakon što dobijete GST broj, morate podnijeti poreznu prijavu svaki mjesec (u Indiji).
Tako bi mi svaki mjesec moj ovlašteni računovođa kontaktirao tražeći fakture za prodaju kako bi mogao podnijeti GST.
U mom slučaju potrebno je stvoriti samo nekoliko računa jer imam samo nekoliko izvora prihoda.
Međutim, budući da je ovo dodatni posao, htio sam to obaviti što je brže moguće.
Kako bih umanjio svoj trud, stvorio sam predložak Generator računa u Excelu koji mi omogućuje da sve podatke imam na jednom mjestu, a zatim automatski stvara PDF fakture za sve podatkovne točke.
Kao što možete vidjeti u nastavku, sve što trebam učiniti je dvaput kliknuti na ime klijenta (u stupcu B) i odmah bi stvorio i spremio fakturu u PDF formatu u navedenoj mapi.
Također možete izmijeniti predložak računa tako da odgovara formatu vaše tvrtke (što bi od vas zahtijevalo da malo promijenite VBA kôd - objašnjeno u nastavku).
On stvara fakturu kako je dolje prikazano:
Kako funkcionira ovaj predložak generatora računa?
U ovom predlošku fakture postoje dva radna lista:
- Pojedinosti - Ovdje trebate navesti pojedinosti o prodaji/transakciji. Kako bi sve ostalo zajedno, stvorio sam jedan redak za svaki zapis. Svi detalji transakcije bilježe se u retku.
- Predložak računa - Ovo je predložak rezervira mjesta u računu u kojem su neka polja ostala prazna. Moram generirati zasebnu fakturu za sve zapise o prodaji, a pojedinosti za svaku fakturu preuzimaju se s radnog lista s pojedinostima.
Na radnoj površini imam i mapu s nazivom 'Dokumenti s fakturama'. Ovo je mapa u koju se spremaju novonastale PDF fakture.
Pogledajmo sada kako to funkcionira:
Morate dvaput kliknuti na ime klijenta (označeno narančastom bojom na listu s detaljima).
To je to!
Kada dvaput kliknete na ime klijenta, on pokreće VBA magiju na stražnjoj strani i događaju se sljedeće stvari:
- Pokupe se podaci o klijentu i prodajnoj transakciji, a predložak računa popuni se tim pojedinostima.
- Stvara se nova radna knjiga koja sadrži pojedinosti o odabranom klijentu (na koji ste dvaput kliknuli).
- Ova je radna knjiga spremljena kao PDF u mapi Invoice PDF.
- Nova radna knjiga zatvorena je bez spremanja.
U slučaju da dođe do promjena u pojedinostima o fakturi, možete dvaput kliknuti na ime klijenta i stvorit će se nova faktura (koja će prebrisati staru).
Imajte na umu da se nazivi računa temelje na mjesecu i broju računa.
Na primjer, račun s datumom 15-04-2019 i broj računa kao 1 bi bio spremljen s imenom Travnja2021-2022_1.pdf. To pomaže u praćenju računa u slučaju da ih imate previše.
Predložak Generator računa možete preuzeti klikom na donji gumb:
Izmjena predloška generatora faktura
Napravio sam ovaj predložak računa u formatu koji mi je bio potreban za podnošenje GST -a.
Ako trebate drugačiji format, morat ćete urediti predložak, a zatim prilagoditi pozadinski VBA kôd.
Dopustite mi da vam prvo pokažem kôd i objasnim kako radi:
Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Kao radna knjiga Dim sh As Radni list S shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Raspon ("B" & RowNum) .Range ("D12") = shDetails.Range ("C" & RowNum) .Range ("B15") = shDetails.Range ("D" & RowNum). ) = shDetails.Range ("F" & RowNum) .Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Završi s FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Set wb = ActiveWorkbook Set sh = ActiveSheet sh.ExportAsFixedFormat Vrsta: = xlTypePDF, Naziv datoteke: = _ FPath & "\" & Fname, Kvaliteta: = xlQualityStandard, IncludeDocProperrerere: True, _ , OpenAfterPublish: = False wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub
Gornji kôd kopira detalje transakcije, ispunjava predložak rezervira mjesta tim podacima, stvara novu radnu knjigu i sprema novu radnu knjigu kao PDF u navedenoj mapi.
Ako imate drugačiji predložak ili drugo mjesto mape, morate izmijeniti dolje označene dijelove koda:
- Prvi istaknuti odjeljak uzima podatke s lista s pojedinostima i popunjava predložak fakture. Ako odlučite izmijeniti predložak računa, morate se pobrinuti da odabirete prave podatke mijenjanjem ovog dijela koda.
- Ovaj redak određuje mjesto mape. U mom slučaju to je bila mapa na radnoj površini. Možete navesti adresu mape u koju želite spremiti račune.
Imajte na umu da sam preimenovao kodni naziv radnog lista u 'shDetails'. Učinio sam to kako bih mogao koristiti naziv - shDetails - u svom kodu i nastavio bi raditi čak i ako promijenite naziv listova na radnom listu.
Ako želite saznati više o nazivu lista i kodnom nazivu, pogledajte ovo (pogledajte odjeljak o korištenju kodnog naziva radnog lista).
Gdje je kôd u radnoj knjizi?
Kôd se nalazi u pozadini radne knjige programa Excel u modulu.
Za pristup kodu slijedite korake u nastavku:
- Kliknite karticu Developer.
- Kliknite opciju Visual Basic. Ovo će otvoriti prozor VB Editor.
- U uređivaču Visual Basica dvaput kliknite na Modul da biste otvorili prozor koda. Naći ćete gore spomenuti kod.
U slučaju da sami stvarate predložak, možda nećete pronaći modul u novoj radnoj knjizi. Morate desnom tipkom miša kliknuti bilo koji objekt radne knjige, otići na Umetni, a zatim kliknite na Modul. Ovo će umetnuti novi modul.
Omogućavanje funkcionalnosti dvostrukog klika
Gornji kôd obavlja sve teške poslove, ali morate ga povezati s događajem dvostrukog klika.
To znači da se gornji kod VBA makronaredbe mora pokrenuti kad god netko dvaput klikne na ispunjene ćelije u stupcu imena klijenta.
To se može učiniti umetanjem sljedećeg koda u prozor koda radnog lista:
Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) If Target.Cells "" And Target.Column = 2 Then Cancel = True Call CreateInvoice (Target.Row) End If End Sub
Evo koraka za umetanje ovog koda u pozadinu radnog lista:
- Desnom tipkom miša kliknite karticu radnog lista "Pojedinosti"
- Kliknite opciju ‘Prikaži kôd’.
- Kopirajte i zalijepite gornji kod u prozor koda koji se pojavi.
Gornji kôd čini sljedeće:
- Provjerava ima li ćelija na koju je dvaput kliknuo podatke o klijentu ili ne. On koristi izraz IF za provjeru i pokretanje koda samo ako ćelija nije prazna i u stupcu B.
- Ako su ispunjeni oba navedena kriterija, onemogućuje se funkcija dvostrukog klika (koja će ući u način uređivanja) i poziva potprogram ‘CreateInvoice’ koja je pohranjena u modulu. Također prosljeđuje vrijednost broja retka potprogramu. Na primjer, ako dvaput kliknem na ime klijenta u trećem retku, proslijedit će 3 kao vrijednost potprogramu CreateInvoice.
- Nakon što se izvrši potprogram "CreateInvoice" - koji stvara PDF fakture - završava.
Kliknite ovdje za preuzimanje datoteke predloška generatora faktura.
Spremanje predloška računa kao Excel (umjesto PDF -a)
Ako želite spremiti predloške računa kao Excel datoteke, a ne kao PDF, umjesto toga možete upotrijebiti donji kod:
Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Kao radna knjiga Dim sh As Radni list S shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Raspon ("B" i redni broj). Raspon ("D12") = shDetails.Range ("C" & RowNum) .Range ("B15") = shDetails.Range ("D" & RowNum). ) = shDetails.Range ("F" & RowNum) .Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Završi s FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Set wb = ActiveWorkbook Set sh = ActiveSheet sh.Name = Fname wb.SaveAs Naziv datoteke: = FPath & "\" & Fname wb.Zatvorite Spremi izmjene: = Netačno ThisWorkbook.Activate Application.ScreenUpdating = True End Sub
Gornji kôd sprema fakturu kao radnu knjigu programa Excel s istom konvencijom imenovanja. Radni list u radnoj knjizi koji sadrži ispunjenu fakturu u svakoj spremljenoj radnoj knjizi također se naziva istim.
Korisni bi vam mogli biti i sljedeći Excel vodiči:
- Kako pretvoriti Excel u PDF pomoću VBA.
- Ugradi PDF u Excel.
- Izvucite podatke iz PDF -a u Excel pomoću ovog pretvarača.
- Predložak kalkulatora Excel vremenskog lista.
- Predložak programa Excel Leave Tracker.
- Besplatni predlošci programa Excel.