(ÜCRETSİZ Fatura Oluşturucu Şablonu) Excel Faturasını PDF Olarak Kaydet

Son zamanlarda kazançlarım üzerinden GST'ye başvurabilmem için kendimi Mal ve Hizmet Vergisi (GST) kapsamında kaydettirmek zorunda kaldım.

GST numaranız olduğunda, her ay (Hindistan'da) vergi beyannamenizi vermeniz gerekir.

Bu nedenle, Yeminli Mali Müşavirim her ay bana ulaşarak GST'ye başvurabilmesi için satış faturası isterdi.

Benim durumumda, yalnızca birkaç gelir kaynağım olduğu için oluşturulacak yalnızca bir avuç fatura var.

Ancak, bu ek bir iş olduğundan, bunu olabildiğince çabuk halletmek istedim.

Bu yüzden çabamı en aza indirmek için, Excel'de tüm verileri tek bir yerde tutmama izin veren bir Fatura Oluşturucu şablonu oluşturdum ve ardından tüm veri noktaları için otomatik olarak PDF faturaları oluşturuyor.

Aşağıda görebileceğiniz gibi, tek yapmam gereken müşterinin adına çift tıklamak (B sütununda) ve faturayı anında oluşturup belirtilen klasörde PDF formatında kaydeder.

Ayrıca fatura şablonunu şirketinizin formatına uyacak şekilde değiştirebilirsiniz (bu, VBA kodunu biraz değiştirmenizi gerektirir - aşağıda açıklanmıştır).

Aşağıda gösterildiği gibi bir fatura oluşturur:

Bu Fatura Oluşturucu Şablonu Nasıl Çalışır?

Bu fatura şablonunda iki çalışma sayfası vardır:

  1. Detaylar - Satış/işlem detaylarını belirtmeniz gereken yer burasıdır. Her şeyi bir arada tutmak için her kayıt için bir satır oluşturdum. Bir işlemin tüm detayları satıra kaydedilir.
  2. Fatura şablonu - Bu, bazı alanların boş bırakıldığı faturanın yer tutucu şablonudur. Tüm satış kayıtları için ayrı bir fatura oluşturmam gerekiyor ve her faturanın ayrıntıları Ayrıntılar çalışma sayfasından alınıyor.

Ayrıca masaüstümde 'Fatura PDF'leri' adında bir klasör var. Yeni oluşturulan PDF faturalarının kaydedildiği klasördür.

Şimdi bunun nasıl çalıştığını görelim:

Müşterinin adına çift tıklamanız gerekir (Ayrıntılar sayfasında turuncu ile vurgulanmıştır).

Bu kadar!

İstemci adına çift tıkladığınızda, VBA sihrini arka uçta başlatır ve aşağıdakiler gerçekleşir:

  1. Müşteri ve satış işlemi için ayrıntılar alınır ve fatura şablon sayfası bu ayrıntılarla doldurulur.
  2. Seçilen istemcinin (çift tıkladığınız) ayrıntılarını içeren yeni bir çalışma kitabı oluşturulur.
  3. Bu çalışma kitabı, Fatura PDF klasörüne PDF olarak kaydedilir.
  4. Yeni çalışma kitabı kaydedilmeden kapatılır.

Fatura detaylarında herhangi bir değişiklik olması durumunda müşteri adına tekrar çift tıklayarak yeni bir fatura oluşturulacaktır (ve bu eski faturanın üzerine yazılacaktır).

Fatura adlarının aya ve fatura numarasına dayalı olduğunu unutmayın.

Örneğin, tarih içeren bir fatura 15-04-2019 ve fatura numarası olarak 1 isimle kaydedilecek Nisan2021-2022_1.pdf. Bu, çok fazla faturanız olması durumunda faturaların takip edilmesine yardımcı olur.

Fatura Oluşturucu Şablonunu aşağıdaki butona tıklayarak indirebilirsiniz:

Fatura Oluşturucu Şablonunu Değiştirme

Bu fatura şablonunu GST dosyalarım için ihtiyacım olan bir formatta oluşturdum.

Farklı bir biçime ihtiyacınız varsa şablonu düzenlemeniz ve ardından arka uç VBA kodunu ayarlamanız gerekir.

Önce size kodu göstereyim ve nasıl çalıştığını açıklayayım:

Sub CreateInvoice(RowNum As Integer) Application.ScreenUpdating = False Dim wb As Workbook Dim shInvoiceTemplate ile Çalışma Sayfası Olarak Dim .Range("D10") = shDetails.Range("A" & RowNum) .Range("D11") = shDetails. Range("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) Şununla Bitir FPath = "C:\Users\sumit\Desktop\Invoice PDF'leri" Fname = Format(shInvoiceTemplate.Range("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Kümesi wb = ActiveWorkbook Kümesi sh = ActiveSheet sh.ExportAsFixedFormat Tür:=xlTypePDF, Dosya Adı:= _ FPath & "\" & Fname, Quality:=xlQualityStandard, IncludeDocProperties:=True, _:IgnorePrintalseas , OpenAfterPublish:=False wb.Close SaveChanges:=False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Yukarıdaki kod, bir işlemin ayrıntılarını kopyalayan, fatura yer tutucu şablonunu bu ayrıntılarla dolduran, yeni bir çalışma kitabı oluşturan ve yeni çalışma kitabını belirtilen klasöre PDF olarak kaydeden şeydir.

Farklı bir şablonunuz veya farklı bir klasör konumunuz varsa, kodun aşağıda vurgulanan kısımlarını değiştirmeniz gerekir:

  1. İlk vurgulanan bölüm, Ayrıntılar sayfasından ayrıntıları alan ve fatura şablonunu dolduran bölümdür. Fatura şablonunu değiştirmeye karar verirseniz, kodun bu bölümünü değiştirerek doğru ayrıntıları seçtiğinizden emin olmanız gerekir.
  2. Bu satır, klasör konumunu belirtir. Benim durumumda, Masaüstümdeki bir klasördü. Faturaların kaydedilmesini istediğiniz klasörün adresini belirtebilirsiniz.

Çalışma sayfası kod adını 'shDetails' olarak yeniden adlandırdığımı unutmayın. Bunu kodumda - shDetails - adını kullanabilmek için yaptım ve çalışma sayfasındaki sayfaların adını değiştirseniz bile çalışmaya devam edecek.

Sayfa adı ve kod adı hakkında daha fazla bilgi edinmek istiyorsanız, buna bir göz atın (Çalışma Sayfası kod adını kullanma bölümüne bakın).

Çalışma kitabında kod nerede?

Kod, bir modülde Excel çalışma kitabının arka ucuna yerleştirilir.

Koda erişmek için aşağıdaki adımları izleyin:

  1. Geliştirici sekmesine tıklayın.
  2. Visual Basic seçeneğine tıklayın. Bu, VB Düzenleyici penceresini açacaktır.
  3. Visual Basic düzenleyicisinde, kod penceresini açmak için Modüle çift tıklayın. Yukarıda belirtilen kodu bulacaksınız.

Kendiniz bir şablon oluşturuyorsanız, Modülü yeni bir çalışma kitabında bulamayabilirsiniz. Çalışma kitabı nesnelerinden herhangi birine sağ tıklamanız, Ekle'ye gitmeniz ve ardından Modül'e tıklamanız gerekir. Bu yeni bir modül ekleyecektir.

Çalışmak için Çift Tıklama işlevini yapma

Yukarıdaki kod tüm ağır işleri yapıyor, ancak onu çift tıklama olayına bağlamanız gerekiyor.

Bu, yukarıdaki VBA makro kodunun, biri istemci adı sütunundaki doldurulmuş hücrelere çift tıkladığında çalışması gerektiği anlamına gelir.

Bu, çalışma sayfası kod penceresine aşağıdaki kodu ekleyerek yapılabilir:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Cells "" Ve Target.Column = 2 Sonra İptal = True Call CreateInvoice(Target.Row) End If End Sub

Bu kodu çalışma sayfası arka ucuna ekleme adımları şunlardır:

  • 'Ayrıntılar' çalışma sayfası sekmesine sağ tıklayın
  • 'Kodu Görüntüle' seçeneğine tıklayın.
  • Açılan kod penceresine yukarıdaki kodu kopyalayıp yapıştırın.

Yukarıdaki kod aşağıdakileri yapar:

  1. Çift tıklanan hücrenin istemci detaylarına sahip olup olmadığını kontrol eder. Yalnızca hücre boş değilse ve Sütun B'deyse kodu kontrol etmek ve çalıştırmak için IF ifadesini kullanır.
  2. Belirtilen kriterlerin her ikisi de karşılanırsa, çift tıklama işlevini (düzenleme moduna girmek için) devre dışı bırakır ve Modülde saklanan 'CreateInvoice' alt programını çağırır. Ayrıca satır numarası değerini alt programa iletir. Örneğin üçüncü satırda müşteri adına çift tıklarsam CreateInvoice alt yordamına değer olarak 3 geçecektir.
  3. Faturanın PDF'sini oluşturan 'CreateInvoice' alt yordamı yürütüldüğünde sona erer.

Fatura Oluşturucu Şablon dosyasını indirmek için buraya tıklayın.

Fatura Şablonunu Excel Olarak Kaydetme (PDF yerine)

Fatura şablonlarını PDF olarak değil de Excel dosyası olarak kaydetmek istiyorsanız bunun yerine aşağıdaki kodu kullanabilirsiniz:

Sub CreateInvoice(RowNum As Integer) Application.ScreenUpdating = False Dim wb As Workbook Dim shInvoiceTemplate ile Çalışma Sayfası Olarak Dim .Range("D10") = shDetails.Range("A" & RowNum) .Range("D11") = shDetails. Range("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) Şununla Bitir FPath = "C:\Users\sumit\Desktop\Invoice PDF'leri" Fname = Format(shInvoiceTemplate.Range("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Kümesi wb = ActiveWorkbook Kümesi sh = ActiveSheet sh.Name = Fname wb.SaveAs Dosya Adı:=FPath & "\" & Fname wb.Close SaveChanges:=False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Yukarıdaki kod, faturayı aynı adlandırma kuralına sahip bir Excel çalışma kitabı olarak kaydeder. Kaydedilen her çalışma kitabındaki doldurulmuş faturayı içeren çalışma kitabındaki çalışma sayfası da aynı şekilde adlandırılır.

Aşağıdaki Excel Eğitimlerini de Beğenebilirsiniz Faydalı:

  • VBA Kullanarak Excel'i PDF'ye Dönüştürme.
  • PDF'yi Excel'e gömün.
  • Bu Dönüştürücü ile PDF'den Excel'e Veri Çıkarın.
  • Excel Zaman Çizelgesi Hesaplama Şablonu.
  • Excel İzleyici Şablonu Bırakın.
  • Ücretsiz Excel Şablonları.
wave wave wave wave wave