(ΔΩΡΕΑΝ Πρότυπο δημιουργίας τιμολογίων) Αποθήκευση τιμολογίου Excel ως PDF

Πρόσφατα έπρεπε να εγγραφώ στον φόρο αγαθών και υπηρεσιών (GST) για να μπορώ να υποβάλω αίτηση για GST για τα κέρδη μου.

Μόλις έχετε έναν αριθμό GST, πρέπει να υποβάλλετε τη φορολογική σας δήλωση κάθε μήνα (στην Ινδία).

Έτσι, κάθε μήνα, ο Ορκωτός Λογιστής μου επικοινωνούσε μαζί μου ζητώντας τιμολόγια πωλήσεων, ώστε να μπορεί να καταθέσει για το GST.

Στην περίπτωσή μου, υπάρχουν μόνο λίγα τιμολόγια που πρέπει να δημιουργηθούν, καθώς έχω μόνο λίγες πηγές εισοδήματος.

Ωστόσο, δεδομένου ότι πρόκειται για πρόσθετη εργασία, ήθελα να το ολοκληρώσω το συντομότερο δυνατό.

Έτσι, για να ελαχιστοποιήσω την προσπάθειά μου, δημιούργησα ένα πρότυπο Invoice Generator στο 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 As Workbook Dim sh As Worksheet With shInvoiceTemplate .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) Τέλος με 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 Type: = xlTypePDF, Filename: = _ FPath & "\" & Fname, Quality: = xlQualityStandard, IncludeDocProperties: = True, , OpenAfterPublish: = False wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Ο παραπάνω κώδικας είναι αυτός που αντιγράφει τα στοιχεία μιας συναλλαγής, συμπληρώνει το πρότυπο κράτησης θέσης τιμολογίου με αυτές τις λεπτομέρειες, δημιουργεί ένα νέο βιβλίο εργασίας και αποθηκεύει το νέο βιβλίο εργασίας ως PDF στον καθορισμένο φάκελο.

Εάν έχετε διαφορετικό πρότυπο ή διαφορετική τοποθεσία φακέλου, πρέπει να τροποποιήσετε τα τμήματα του κώδικα που έχουν επισημανθεί παρακάτω:

  1. Η πρώτη επισημασμένη ενότητα είναι αυτή που λαμβάνει τις λεπτομέρειες από το φύλλο Λεπτομέρειες και συμπληρώνει το πρότυπο τιμολογίου. Εάν αποφασίσετε να τροποποιήσετε το πρότυπο τιμολογίου, πρέπει να βεβαιωθείτε ότι επιλέγετε τα σωστά στοιχεία, τροποποιώντας αυτό το μέρος του κώδικα.
  2. Αυτή η γραμμή καθορίζει τη θέση του φακέλου. Στην περίπτωσή μου, ήταν ένας φάκελος στην επιφάνεια εργασίας μου. Μπορείτε να καθορίσετε τη διεύθυνση του φακέλου στον οποίο θέλετε να αποθηκευτούν τα τιμολόγια.

Σημειώστε ότι έχω μετονομάσει το κωδικό όνομα του φύλλου εργασίας σε "shDetails". Το έχω κάνει έτσι ώστε να μπορώ να χρησιμοποιήσω το όνομα - shDetails - στον κωδικό μου και θα συνεχίσει να λειτουργεί ακόμη και αν αλλάξετε το όνομα των φύλλων στο φύλλο εργασίας.

Αν θέλετε να μάθετε περισσότερα σχετικά με το όνομα του φύλλου και το κωδικό όνομα, ρίξτε μια ματιά σε αυτό (ανατρέξτε στην ενότητα σχετικά με τη χρήση του κωδικού ονόματος του φύλλου εργασίας).

Πού βρίσκεται ο κώδικας στο βιβλίο εργασίας;

Ο κώδικας τοποθετείται στο πίσω μέρος του βιβλίου εργασίας του Excel σε μια ενότητα.

Για να αποκτήσετε πρόσβαση στον κωδικό, ακολουθήστε τα παρακάτω βήματα:

  1. Κάντε κλικ στην καρτέλα Προγραμματιστής.
  2. Κάντε κλικ στην επιλογή Visual Basic. Αυτό θα ανοίξει το παράθυρο του VB Editor.
  3. Στο πρόγραμμα επεξεργασίας της Visual Basic, κάντε διπλό κλικ στη λειτουργική μονάδα για να ανοίξετε το παράθυρο κώδικα. Θα βρείτε τον κωδικό που αναφέρθηκε παραπάνω.

Σε περίπτωση που δημιουργείτε μόνοι σας ένα πρότυπο, ενδέχεται να μην βρείτε την Ενότητα σε ένα νέο βιβλίο εργασίας. Πρέπει να κάνετε δεξί κλικ σε οποιοδήποτε από τα αντικείμενα του βιβλίου εργασίας, να μεταβείτε στην επιλογή Εισαγωγή και, στη συνέχεια, να κάνετε κλικ στην ενότητα. Αυτό θα εισαγάγει μια νέα ενότητα.

Κάνοντας τη λειτουργία διπλού κλικ στην εργασία

Ο παραπάνω κώδικας κάνει όλα τα βάρη, αλλά πρέπει να τον συνδέσετε στο συμβάν διπλού κλικ.

Αυτό σημαίνει ότι ο παραπάνω κώδικας μακροεντολής VBA πρέπει να εκτελείται κάθε φορά που κάποιος κάνει διπλό κλικ στα συμπληρωμένα κελιά στη στήλη όνομα πελάτη.

Αυτό μπορεί να γίνει εισάγοντας τον ακόλουθο κώδικα στο παράθυρο κωδικού φύλλου εργασίας:

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

Ακολουθούν τα βήματα για να εισαγάγετε αυτόν τον κώδικα στο backend του φύλλου εργασίας:

  • Κάντε δεξί κλικ στην καρτέλα "Λεπτομέρειες" φύλλο εργασίας
  • Κάντε κλικ στην επιλογή «Προβολή κώδικα».
  • Αντιγράψτε και επικολλήστε τον παραπάνω κώδικα στο παράθυρο κώδικα που εμφανίζεται.

Ο παραπάνω κώδικας κάνει τα εξής:

  1. Ελέγχει εάν το κελί που έχει διπλό κλικ έχει τα στοιχεία του πελάτη ή όχι. Χρησιμοποιεί τη δήλωση IF για να ελέγξει και να εκτελέσει τον κώδικα μόνο εάν το κελί δεν είναι κενό και στη στήλη Β.
  2. Εάν πληρούνται και τα δύο καθορισμένα κριτήρια, απενεργοποιεί τη λειτουργικότητα διπλού κλικ (η οποία είναι η μετάβαση στη λειτουργία επεξεργασίας) και καλεί την υπορουτίνα «CreateInvoice», η οποία είναι αποθηκευμένη στη λειτουργική μονάδα. Περνά επίσης την τιμή του αριθμού σειράς στην υπορουτίνα. Για παράδειγμα, εάν κάνω διπλό κλικ στο όνομα του πελάτη στην τρίτη σειρά, θα περάσει το 3 ως τιμή στην υπορουτίνα CreateInvoice.
  3. Μόλις εκτελεστεί η υπορουτίνα «CreateInvoice» - που δημιουργεί το PDF του τιμολογίου - τελειώνει.

Κάντε κλικ εδώ για να κατεβάσετε το αρχείο προτύπου γεννήτρια τιμολογίου.

Αποθήκευση του προτύπου τιμολογίου ως Excel (αντί για PDF)

Εάν θέλετε να αποθηκεύσετε τα πρότυπα τιμολογίου ως αρχεία Excel και όχι ως PDF, μπορείτε αντ 'αυτού να χρησιμοποιήσετε τον παρακάτω κώδικα:

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 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) Τέλος με 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 Filename: = FPath & "\" & Fname wb.Close SaveChanges: = False ThisWorkbook.Activate Application.ScreenUpdating = True End Sub

Ο παραπάνω κώδικας αποθηκεύει το τιμολόγιο ως βιβλίο εργασίας Excel με την ίδια σύμβαση ονομασίας. Το φύλλο εργασίας στο βιβλίο εργασίας που περιέχει το συμπληρωμένο τιμολόγιο σε κάθε αποθηκευμένο βιβλίο εργασίας ονομάζεται επίσης το ίδιο.

Μπορεί επίσης να σας αρέσουν τα ακόλουθα μαθήματα Excel: Χρήσιμα:

  • Πώς να μετατρέψετε το Excel σε PDF χρησιμοποιώντας το VBA.
  • Ενσωμάτωση PDF στο Excel.
  • Εξαγωγή δεδομένων από PDF σε Excel με αυτόν τον μετατροπέα.
  • Πρότυπο αριθμομηχανής φύλλου χρόνου του Excel.
  • Πρότυπο παρακολούθησης Excel Leave
  • Δωρεάν πρότυπα Excel.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave