(Šablona generátoru faktur ZDARMA) Uložte fakturu Excel jako PDF

Nedávno jsem se musel zaregistrovat v rámci daně z zboží a služeb (GST), abych mohl o svých výdělcích podat žádost o GST.

Jakmile máte číslo GST, musíte podávat daňové přiznání každý měsíc (v Indii).

Takže každý měsíc mě můj účetní ve službě Charted oslovil s žádostí o prodejní faktury, aby mohl podat žádost o daň GST.

V mém případě je třeba vytvořit jen hrstku faktur, protože mám jen několik zdrojů příjmů.

Jelikož se však jedná o dodatečnou práci, chtěl jsem to provést co nejrychleji.

Abych minimalizoval své úsilí, vytvořil jsem v Excelu šablonu Generátoru faktur, která mi umožňuje mít všechna data na jednom místě, a pak automaticky vytváří faktury PDF pro všechny datové body.

Jak vidíte níže, vše, co musím udělat, je dvakrát kliknout na jméno klienta (ve sloupci B) a faktura by se okamžitě vytvořila a uložila ve formátu PDF do zadané složky.

Můžete také upravit šablonu faktury tak, aby vyhovovala formátu vaší společnosti (což by vyžadovalo, abyste trochu změnili kód VBA - vysvětleno níže).

Vytvoří fakturu, jak je uvedeno níže:

Jak tato šablona generátoru faktur funguje?

V této šabloně faktury existují dva pracovní listy:

  1. Podrobnosti - Zde je třeba zadat podrobnosti o prodeji/transakci. Aby bylo vše pohromadě, vytvořil jsem pro každý záznam jeden řádek. V řádku jsou zaznamenány všechny podrobnosti transakce.
  2. Šablona faktury - Toto je zástupná šablona faktury, kde jsou některá pole prázdná. Potřebuji vygenerovat samostatnou fakturu pro všechny záznamy o prodeji a podrobnosti pro každou fakturu se vyzvednou z listu Podrobnosti.

Na ploše mám také složku s názvem „Fakturační soubory PDF“. Toto je složka, kam jsou uloženy nově vytvořené faktury PDF.

Nyní se podívejme, jak to funguje:

Musíte dvakrát kliknout na jméno klienta (zvýrazněno oranžově v listu s podrobnostmi).

A je to!

Když dvakrát kliknete na jméno klienta, spustí se kouzlo VBA na zadním konci a stanou se následující věci:

  1. Jsou vyzvednuty podrobnosti o klientovi a transakci prodeje a tyto podrobnosti vyplní list šablony faktury.
  2. Vytvoří se nový sešit, který obsahuje podrobnosti o vybraném klientovi (na kterého jste dvakrát klikli).
  3. Tento sešit je uložen jako PDF ve složce Faktura PDF.
  4. Nový sešit se zavře bez uložení.

V případě jakýchkoli změn v podrobnostech faktury můžete znovu dvakrát kliknout na jméno klienta a vytvoří se nová faktura (a ta přepíše starou).

Všimněte si toho, že názvy faktur vycházejí z měsíce a čísla faktury.

Například faktura s datem 15-04-2019 a číslo faktury jako 1 bude uložen se jménem Duben2021-2022_1.pdf. To pomáhá při sledování faktur v případě, že jich máte příliš mnoho.

Šablonu generátoru faktur si můžete stáhnout kliknutím na tlačítko níže:

Úprava šablony generátoru faktur

Tuto šablonu faktury jsem vytvořil ve formátu, který jsem potřeboval pro svá podání GST.

Pokud potřebujete jiný formát, budete muset upravit šablonu a poté upravit backendový kód VBA.

Nejprve vám ukážu kód a vysvětlím, jak funguje:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb As Workbook Dim sh As Worksheet With shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Rozsah ("B" & RowNum) .Range ("D12") = shDetails.Range ("C" & RowNum) .Range ("B15") = shDetails.Range ("D" & RowNum) .Range ("D15" ) = shDetails.Range ("F" & RowNum) .Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Konec FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = Sada "InvTemp" wb = Sada ActiveWorkbook sh = ActiveSheet sh.ExportAsFixedFormat Typ: = xlTypePDF, Název souboru: = _ FPath & "\" & Fname, Kvalita: = xlQualityStandard, IncludeDocProperties: = True, _ IgnorePrint , OpenAfterPublish: = False wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Výše uvedený kód kopíruje podrobnosti transakce, vyplní šablonu zástupného symbolu faktury těmito detaily, vytvoří nový sešit a uloží nový sešit jako PDF do zadané složky.

Pokud máte jinou šablonu nebo jiné umístění složky, musíte upravit níže zvýrazněné části kódu:

  1. První zvýrazněná část je to, co přebírá podrobnosti z listu podrobností a naplní šablonu faktury. Pokud se rozhodnete upravit šablonu faktury, musíte se ujistit, že vybíráte správné podrobnosti úpravou této části kódu.
  2. Tento řádek určuje umístění složky. V mém případě to byla složka na mé ploše. Můžete zadat adresu složky, kam chcete ukládat faktury.

Všimněte si, že jsem přejmenoval kódový název listu na „shDetails“. Udělal jsem to tak, abych mohl v kódu použít název - shDetails - a pokračoval by v práci, i když změníte název listů v listu.

Pokud se chcete dozvědět více o názvu listu a kódovém názvu, podívejte se na to (podívejte se do části o používání kódového názvu listu).

Kde je kód v sešitu?

Kód je umístěn v back-endu sešitu aplikace Excel v modulu.

Chcete -li získat přístup ke kódu, postupujte podle následujících kroků:

  1. Klikněte na kartu Vývojář.
  2. Klikněte na možnost Visual Basic. Tím se otevře okno editoru VB.
  3. V editoru jazyka otevřete okno kódu dvojitým kliknutím na modul. Najdete výše uvedený kód.

V případě, že si vytváříte šablonu sami, možná modul nenajdete v novém sešitu. Na libovolný objekt sešitu musíte kliknout pravým tlačítkem, přejít na Vložit a poté kliknout na Modul. Tím se vloží nový modul.

Funkce dvojitého kliknutí funguje

Výše uvedený kód dělá všechno těžké zvedání, ale musíte jej připojit k události dvojitého kliknutí.

To znamená, že výše uvedený kód makra VBA se musí spustit vždy, když někdo dvakrát klikne na vyplněné buňky ve sloupci název klienta.

To lze provést vložením následujícího kódu do okna kódu listu:

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

Zde jsou kroky k vložení tohoto kódu do backendu listu:

  • Klikněte pravým tlačítkem na kartu listu „Podrobnosti“
  • Klikněte na možnost „Zobrazit kód“.
  • Zkopírujte a vložte výše uvedený kód do zobrazeného okna kódu.

Výše uvedený kód provádí následující věci:

  1. Zkontroluje, zda buňka, na kterou se dvakrát kliklo, obsahuje podrobnosti o klientovi nebo ne. Pomocí příkazu IF kontroluje a spouští kód pouze v případě, že buňka není prázdná a je ve sloupci B.
  2. Pokud jsou splněna obě uvedená kritéria, zakáže to funkci dvojitého kliknutí (což je přístup do režimu úprav) a vyvolá podprogram „CreateInvoice“, který je uložen v modulu. Rovněž předá podprogramu číslo řádku. Pokud například dvakrát kliknu na jméno klienta ve třetím řádku, předá 3 jako hodnotu podprogramu CreateInvoice.
  3. Jakmile se spustí podprogram „CreateInvoice“ - který vytvoří PDF faktury - skončí.

Kliknutím sem stáhnete soubor šablony generátoru faktur.

Uložení šablony faktury jako Excel (místo PDF)

Pokud chcete uložit šablony faktur jako soubory aplikace Excel a nikoli jako soubory PDF, můžete místo toho použít níže uvedený kód:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb As Workbook Dim sh As Worksheet With shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Rozsah ("B" & RowNum) .Range ("D12") = shDetails.Range ("C" & RowNum) .Range ("B15") = shDetails.Range ("D" & RowNum) .Range ("D15" ) = shDetails.Range ("F" & RowNum) .Range ("D16") = shDetails.Range ("G" & RowNum) .Range ("D18") = shDetails.Range ("E" & RowNum) Konec na FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = Sada "InvTemp" wb = Sada ActiveWorkbook sh = ActiveSheet sh.Name = Fname wb.SaveAs Název souboru: = FPath & "\" & Fname wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Výše uvedený kód uloží fakturu jako sešit aplikace Excel se stejnou konvencí pojmenování. Stejný název má také list v sešitu, který obsahuje vyplněnou fakturu v každém uloženém sešitu.

Také by se vám mohly líbit následující užitečné výukové programy pro Excel:

  • Jak převést Excel na PDF pomocí VBA.
  • Vložit PDF do Excelu.
  • Extrahujte data z PDF do Excelu pomocí tohoto převaděče.
  • Šablona kalkulačky časového rozvrhu aplikace Excel.
  • Šablona aplikace Excel Leave Tracker.
  • Šablony aplikace Excel zdarma.
wave wave wave wave wave