(БЕЗКОШТОВНИЙ шаблон генератора рахунків -фактур) Збережіть рахунок -фактуру Excel у форматі PDF

Нещодавно мені довелося зареєструватись у податку на товари та послуги (GST), щоб я міг подати GST на свій заробіток.

Отримавши номер GST, вам потрібно подавати податкову декларацію щомісяця (в Індії).

Тому щомісяця мій дипломований бухгалтер звертався до мене з проханням надати рахунки -продажі, щоб він міг подати документи на GST.

У моєму випадку потрібно створити лише декілька рахунків -фактур, оскільки у мене є лише кілька джерел доходу.

Однак, оскільки це додаткова робота, я хотів зробити це якомога швидше.

Тому, щоб мінімізувати свої зусилля, я створив шаблон генератора рахунків -фактур в Excel, який дозволяє мені зберігати всі дані в одному місці, а потім він автоматично створює рахунки -фактури у форматі PDF для всіх точок даних.

Як ви можете бачити нижче, Мені потрібно лише двічі клацнути на імені клієнта (у стовпці В), і миттєво створить та збереже рахунок -фактуру у форматі PDF у зазначеній папці.

Ви також можете змінити шаблон рахунка -фактури відповідно до формату вашої компанії (що вимагає від вас трохи змінити код VBA - пояснено нижче).

Він створює рахунок -фактуру, як показано нижче:

Як працює цей шаблон генератора рахунків -фактур?

У цьому шаблоні рахунка -фактури є два аркуші:

  1. Деталі - Тут вам потрібно вказати деталі продажу/угоди. Щоб зберегти все разом, я створив один рядок для кожного запису. Усі деталі транзакції записуються в рядок.
  2. Шаблон рахунку -фактури - Це шаблон -заповнювач рахунка -фактури, де деякі поля залишаються порожніми. Мені потрібно створити окремий рахунок -фактуру для всіх записів про продаж, а реквізити кожного рахунка -фактури збираються з аркуша Деталі.

У мене також на робочому столі є папка з назвою "Файли -фактури PDF". Це папка, де зберігаються новостворені рахунки -фактури PDF.

Тепер подивимося, як це працює:

Вам потрібно двічі клацнути на імені клієнта (виділено помаранчевим кольором на аркуші подробиць).

Це воно!

Коли ви двічі клацаєте по імені клієнта, він запускає магію VBA на задній панелі, і відбуваються такі речі:

  1. Інформація про клієнта та операцію купівлі -продажу збирається, а таблиця шаблону рахунка -фактури заповнюється цими реквізитами.
  2. Створюється нова книга, яка містить відомості про обраного клієнта (на якому ви двічі клацнули).
  3. Ця книга зберігається у форматі PDF у папці Рахунок -фактура PDF.
  4. Нова книга закривається без збереження.

У разі будь-яких змін у реквізитах рахунку-фактури, ви можете двічі клацнути на імені клієнта знову, і буде створено новий рахунок-фактуру (і це замінить старий).

Зауважте, що назви рахунків -фактур базуються на місяці та номері рахунка -фактури.

Наприклад, рахунок -фактура з датою 15-04-2019 і номер рахунка -фактури як 1 буде збережено з іменем Квітень2021-2022_1.pdf. Це допомагає відстежувати рахунки -фактури, якщо їх занадто багато.

Ви можете завантажити шаблон генератора рахунків -фактур, натиснувши на кнопку нижче:

Зміна шаблону генератора рахунків -фактур

Я створив цей шаблон рахунка -фактури у форматі, який мені потрібен для подання GST.

Якщо вам потрібен інший формат, вам доведеться відредагувати шаблон, а потім налаштувати бекенд -код VBA.

Спочатку дозвольте мені показати вам код і пояснити, як він працює:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Як Робоча книга Dim sh As Лист З shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Діапазон ("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) Закінчити на FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Встановити wb = ActiveWorkbook Встановити sh = ActiveSheet sh.ExportAsFixedFormat Тип: = xlTypePDF, Ім'я файлу: = _ FPath & "\" & Fname, Якість: = xlQualityStandard, IncludeDocProperrerere: True, _, , OpenAfterPublish: = False wb.Закрити SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Наведений вище код - це те, що копіює деталі транзакції, заповнює шаблони -заповнювачі рахунків -фактур цими реквізитами, створює нову книгу та зберігає нову книгу як PDF у зазначеній папці.

Якщо у вас інший шаблон або інше розташування папок, вам потрібно змінити виділені нижче частини коду:

  1. Перший виділений розділ - це те, що бере відомості з аркуша Деталі та заповнює шаблон рахунка -фактури. Якщо ви вирішили змінити шаблон рахунка -фактури, вам потрібно переконатися, що ви вибираєте правильні дані, змінивши цю частину коду.
  2. У цьому рядку вказується розташування папки. У моєму випадку це була папка на моєму Робочому столі. Ви можете вказати адресу папки, де потрібно зберігати рахунки -фактури.

Зауважте, що я перейменував кодове ім’я аркуша на ‘shDetails’. Я зробив це, щоб використовувати ім’я - shDetails - у своєму коді, і воно продовжуватиме працювати, навіть якщо ви зміните назву аркушів на аркуші.

Якщо ви хочете дізнатися більше про назву аркуша та кодову назву, подивіться на це (перегляньте розділ про використання кодового імені аркуша).

Де код у робочій книзі?

Код розміщується у внутрішній частині книги Excel у модулі.

Щоб отримати доступ до коду, виконайте наведені нижче дії.

  1. Перейдіть на вкладку Розробник.
  2. Натисніть на опцію Visual Basic. Відкриється вікно редактора VB.
  3. У редакторі Visual Basic двічі клацніть на модулі, щоб відкрити вікно його коду. Ви знайдете згаданий вище код.

Якщо ви створюєте шаблон самостійно, можливо, ви не знайдете модуль у новій книзі. Вам потрібно клацнути правою кнопкою миші будь-який об’єкт книги, перейти до пункту Вставити, а потім клацнути на Модуль. Це додасть новий модуль.

Включення функції подвійного клацання

Наведений вище код робить усі важкі роботи, але вам потрібно підключити його до події подвійного клацання.

Це означає, що вищевказаний код макросу VBA потрібно запускати щоразу, коли хтось двічі клацає по заповнених клітинках у стовпці імені клієнта.

Це можна зробити, вставивши такий код у вікно коду робочого аркуша:

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean) If Target.Cells "" And Target.Column = 2 Тоді Cancel = True Call CreateInvoice (Target.Row) End If End Sub

Нижче описано, як вставити цей код у бекенд аркуша:

  • Клацніть правою кнопкою миші на вкладці «Подробиці»
  • Натисніть на опцію «Переглянути код».
  • Скопіюйте та вставте наведений вище код у вікно коду, що з’явиться.

Наведений вище код робить наступні дії:

  1. Перевіряє, чи клітинка, на яку було натиснуто двічі, містить дані клієнта чи ні. Він використовує оператор IF для перевірки та запуску коду, лише якщо клітинка не порожня та у стовпці B.
  2. Якщо обидва зазначені критерії виконуються, він вимикає функціональність подвійного клацання (тобто для переходу в режим редагування) і викликає підпрограму «CreateInvoice», яка зберігається у модулі. Він також передає значення номера рядка до підпрограми. Наприклад, якщо я двічі клацну на імені клієнта в третьому рядку, воно передасть 3 як значення до підпрограми CreateInvoice.
  3. Після виконання підпрограми "CreateInvoice", яка створює PDF -рахунок рахунку -фактури, вона закінчується.

Натисніть тут, щоб завантажити файл шаблону генератора рахунків -фактур.

Збереження шаблону рахунка -фактури у форматі Excel (замість PDF)

Якщо ви хочете зберегти шаблони рахунків -фактур як файли Excel, а не як PDF -файли, замість цього можна скористатися наведеним нижче кодом:

Sub CreateInvoice (RowNum As Integer) Application.ScreenUpdating = False Dim wb Як Робоча книга Dim sh As Лист З shInvoiceTemplate .Range ("D10") = shDetails.Range ("A" & RowNum) .Range ("D11") = shDetails. Діапазон ("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) Закінчити на FPath = "C: \ Users \ sumit \ Desktop \ Invoice PDFs" Fname = Format (shInvoiceTemplate.Range ("D10"), "mmmm yyyy") _ & "_" & shInvoiceTemplate.Range ("D12") shInvoiceTemplate.Copy ActiveSheet.Name = "InvTemp" Встановити wb = ActiveWorkbook Встановити sh = ActiveSheet sh.Name = Fname wb.SaveAs Ім'я файлу: = FPath & "\" & Fname wb.Закрити ЗберегтиЗміни: = Неправильна Ця робоча книга. Активуйте Application.ScreenUpdating = True End Sub

Наведений вище код зберігає рахунок -фактуру як книгу Excel із тією ж умовою іменування. Робочий лист у книзі, що містить заповнений рахунок -фактуру в кожній збереженій книзі, також називається так само.

Вам також можуть сподобатися такі підручники Excel:

  • Як конвертувати Excel у PDF за допомогою VBA.
  • Вбудовувати PDF у Excel.
  • Витягніть дані з PDF в Excel за допомогою цього конвертера.
  • Шаблон калькулятора розкладу Excel.
  • Шаблон відстеження виходу Excel.
  • Безкоштовні шаблони Excel.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave