Enkel faktura i Excel helt gratis – lav fakturaen som Pdf og send den i mail

Jeg har tidligere skrevet om min gratis faktura her på siden. Der er efterfølgende kommet en del ekstra ønsker til, og en ny version er klar til download. Ønskerne har meget gået på muligheden for pdf generering og muligheden for at sende den som mail, istedet for at skulle sende den med posten.

I denne version er der således følgende nyheder:

1. Gem faktura’en som Pdf og send den som mail til kunden – ved ét tryk på  en knap!

2. Vælg produkter (stadig lidt eksperimenterende)

3. kundelisten er udvidet til også at indeholde kundens mailadresse.

4. Når fakturaen udskrives, gemmes samtidig en PDF i PDF-folderen

 

For at de nye funktioner fungere, skal du gennemføre følgende steps

1. Installer PdfCreator – jeg har brugt version 0.9.8. (http://sourceforge.net/projects/pdfcreator/files/PDFCreator/PDFCreator%200.9.8/PDFCreator-0_9_8_setup.exe/download)

2. Pak fakturafilerne fra ZIPfilen ud i en ønsket folder

3. Opsæt mail:

– Den tekniske opsætning af mailopsætning sker i config.ini filen. Den åbnes i f.eks. Notepad.
Nu skal der fyldes nogle oplysninger i filen, som du oprindeligt nok har fået af den internetudbyder, ellers kan en del af dem nok findes på deres hjemmeside.

[Mail]
smtp=mail.maildomain.dk (den mail-server som du sender dine mail via)
port=25 (den port som bruges til mailafsendelse. Ofte er det port 25)
smtptimeout=20
smtpusername=brugernavn (di t mail brugernavn)
smtppassword=password (dit mail-password – Dette krypteres første gang fakturaen startes så det ikke lige står i klar tekst i denne fil)
bcc= (kan sættes til din egen mail, hvis du vil have en kopi at dét som kunden modtager)
from=””Ole Testesen”” <ole@tester.dk> (Navn og mailadresse som kunden ser i sin indbakke)
subject=Faktura fra Ole (Emnelinien i mailen)

Beskedfil.txt indeholder selve den besked som kunden modtager. [NAVN] udskiftes automatisk med det navn som står som kundenavn på fakturaen.

Opsætnings noter:

– Første gang man åbner fakturaen kan man få en fejl som beskriver at en Date-funktion ikke findes. Det er fordi excel ikke lige har fundet ud af at PdfCreator er installeret.

For at løse dette, er man nødt til at gå et smut i VBA editoren.
– Dette gøres lettes ved at trykke Alt+F11.
– Herefter går du i Tools->References
– Finder en markering på PdfCreator[missing]
– Fjerner hakket, lukker fakturaen og siger ja til at gemme.
Nu skal hakket sættes igen:
– Åben fakturaen
– Gå til VBA scripteditoren med Alt+F11
– Gå til menuen Tools->References
– Find PdfCreator og sæt et flueben
– Tryk Ok og luk Fakturaen med Ja til at gemme.

Selve fakturaen er iøvrigt udviklet i Excel 2003 SP3 og windows Xp på 32 bit – fakturaen i den nuværende version vil ikke virke på 64 bit systemer!

Fakturaen er helt gratis, men hvis du mener at fakturaen, eller dele af den, kan bruges til noget fornuftigt, ville det lune med et lille, kontant bidrag til støtte udviklingen. Enten via Paypal eller almindelig overførsel 🙂 Find mulighederne her.

 

Hent Faktura’en her: Download

 

 

 

Share

27 thoughts on “Enkel faktura i Excel helt gratis – lav fakturaen som Pdf og send den i mail

  1. Ikke noget, den drillede bare lidt, men er fundet ud af det :),
    Jeg tænkte på noget, hvordan kan det være du har valgt af lave kunder, produkt, faktura i forskellige filer? & ikke bare i samme fil? 🙂

  2. Jeg har valgt at lave dem som adskilte filer, så selve fakturaen ikke skulle gemmes fra gang til gang. Altså hvis brugeren kommer til at lave noget/ødelægge selve opsætningen på fakturaen, kan de bare lukke den og åbne den igen. Samtidig har jeg mulighed for, hjemme fra, at implementere evt. ændringer og så bare sende faktura-filen til dem uden at det ændre på kunde-lister og produkt-lister.
    Det er iøvrigt lavet sådan, at jeg bare lægger filen op på deres dropbox, som jeg har adgang til, og så ligger den der næste gang de tænder computeren:-)

    /Michael Larsen

  3. Hej Michael
    Nu har jeg siddet og døjet længe nok. Må erkende at jeg ikke kan finde ud af det…

    Jeg kan ikke få programmet til at sende mail.
    Jeg får først en fin meddelelse til k unden om at der nu er en faktura på vej.
    Dernæst kommer det password jeg bruger til min mail
    …men så kommer der en Run-timer error ‘429’ ActiveX component can’t create object

    Den markerer ln 93, Col 47
    Set iMsg = CreateObject(“CDO.Message”)

    Kan du gennemskue hvad der sker?

    Det er rigtig ærgeligt, for fakturaen og de muligheder den giver, er lige det jeg mangler.

    Håber du kan hjælpe

    MVH Michael

  4. Hej Michael

    Jeg er nok nødt til at bede om lidt flere oplysninger:
    – windows version
    – office version
    – hvem har du som mail-udbyder

    Umiddelbart kan det være et rigtigt godt forsøg, at opdaterer din DirectX version til nyeste. De ActiveX objekter som bruges til mailafsendelsen ligger vist i den nyeste DirectX.

    /Michael

  5. Hej igen

    Jeg bruger windows Vista Home Premium SP 2 – Office 2007 og Google mail

    Jeg vil prøve at lave en opdatering af mit windows

    Michael

  6. Hej igen, Michael

    Faktura’en er lavet i Excel 2003, men fungerer vist også i 2007. Jeg er derimod usikker på om den vil virke på Vista, og det er nok dét du kæmper med.
    Jeg bruger Windows Xp Pro på “faktura-maskinen”, og har desværre ingen Vista til at teste på….

    /Michael

  7. Ærgeligt….

    Nu har jeg opdateret Windows med de sidste ny opdateringer, og opdateret DirectX også – og det er ikke blevet spor bedre.
    Det har vel ikke noget at gøre med opsætningen af Config.ini-filen at gøre?

    Den ser således ud
    [Faktura]
    faknum=6
    [Mail]
    smtp=smtp.gmail.com
    port=587
    smtptimeout=20
    smtpusername=osgogee@gmail.com
    smtppassword=XXXX
    bcc=
    from=””Michael Møller””
    subject=Faktura fra Michael

    Michael

  8. Hej Michael

    Hvis du bruger Gmail skal du nok sætte porten til 25, men det hjælper dig nok ikke.

    Måske er problemet i virkeligheden office 2007. Jeg anvender noget der hedder CDO til at sende selve mailen med, og det ser ud til at det ikke installeres pr default med office 2007. Man kan downloade og installerer det seperat, men det kræver vist at outlook også er installeret….

    http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=3671#instructions

    /Michael

  9. Hej Michael

    Jeg har en maskine med Windows 8 og office 2013, jeg har tidligere haft en maskine med Windows 7 og office 2007 hvor det har virket fint, men nu vil jeg så ændre i fakturaen så den bliver med mit logo på, men når jeg så vil gemme den får jeg følgende: Nogle formler i denne projektmappe er sammenkædet med andre projektmapper, der er lukket. Når disse formler genberegnes i tidligere versioner af Excel, uden at de sammenkædede projektmapper åbnes, returneres tegn ud over grænsen på 255 tegn ikke. Placering: Definerede navne.
    Hvordan løser man dette problem.

  10. Hej Per

    Det kan jeg desværre ikke genskabe, da jeg hverken har windows 8 eller office 2013. Men kommer fejlen, uanset hvilke rettelser du laver på den oprindelige faktura? Eg. bare skrive et tegn i en celle og så gemmer….

    /Michael Larsen

  11. Hej Michael

    Ja den kommer med fejlen uanset hvilke rettelser jeg lave på den oprindelige faktura.

  12. Hej Michael.

    Jeg har lidt problemer med og bruge din ellers meget gode faktura. mit problem er nok jeg har office 2010, men er ikke sikker. kan blandt ikke opsætte e-mail. jeg bruger xp som styresystem. og gmail. kan du hjælpe ?

  13. Hej igen.

    så lige en fejl i mit spørgsmål, jeg bruge outlook ekspress som mail.

    Mvh Simon

  14. Hej Per

    Jeg prøver lige at kigge på mit setup i weekenden, om der er nogle definerede navne som evt kunne drille i nyere versioner af office..

    /Michael

  15. Hej Simon

    Omkring opsætningen af mail er mail afsender serveren du skal have fat i(din mail-udbyder f.eks gmail, TDC osv) og sætte op i config-filen

    Er det en Windows xp home eller Pro du har. Det har nemlig vist sig at xp home mangler en kommando i forhold til pro-udgaven, som bruges til at lave pdf’en korrekt.
    I det tilfælde skal man installere Microsoft pstools og lave nogle få ændringer i vba-koden i fakturaen: http://technet.microsoft.com/en-us/sysinternals/bb896683.aspx

    Jeg opdatere Noterne på faktura-posten med vejledning i at lave de vba-ændringer der skal til for at fakturaen virker på Windows xp home.

  16. Hej Michael.

    Jeg har xp home. de der noter, hvor finder jeg dem ? Jeg har downloade det link du har lagt op.

  17. Hej Per

    Nu har jeg prøvet det samme i Office 2007 og har også fået den fejl du beskriver. Hvis jeg trykker “Fortsæt” kan jeg dog ikke umiddelbart se at fakturaen opføre sig anderledes end forventet. Kan du ikke også prøve at trykke Fortsæt og se om ikke tingene virker som de skal?

    /Michael

  18. Hej Simon

    Jeg har ikke skrevet Noterne endnu, men det ser skal ske er at man skal skifte 2 linier ud i modulet “mail_pdf_ini”. Dette foregår i VBA koden.
    Fremgangsmåde er noget i denne retning:
    1) Installer SYSinternals og noter sti’en hvor de er installeret
    2) Kør PSkill.exe(som er en del af SYSINTERNALS) én gang så man får sagt ja til licens skrivelsen
    3) Filen PSKill.exe kopieres fra dér hvor den er installeret til c:\windows
    4) Åben fakturaen og gå til VBA editoren(ALT F11)
    5) Åben modulet “mail_pdf_ini”
    6) Led efter linien(den optræder 2 gange):
    Shell "taskkill /f /im PDFCreator.exe", vbHide
    og erstat den med:
    Shell "pskill ""PDFCreator.exe""", vbHide
    Nu skulle selve PDF genereingen gerne virke selvom det er en Windows Xp Home – men du skal stadig have sat mail oplysningerne op i config-filen.

  19. Hej
    Jeg har installeret din utroligt fine automatiske faktura. Har rettet alting til og det virker indtil den skal udskrive 3 kopier der gemmer den bare pdf filen. Det er hvad det er den kan jeg bare åbne og udskrive derfra, men så stopper makroen når den forsøger at sende mailen. Jeg har gmail og har ændret dette i config ini filen:
    [Mail]
    smtp=gsmtp.gmail.com
    port=587 (har forsøgt med 25 og 465)
    Den skriver fejlen Runtime error ‘-2147220973 (80040213)’
    Transporten kunne ikke oprette forbindelse til serveren
    Har fundet dette på nettet og forsøgt at noget af det i din fil, men uden held.
    Sub SendEmail()
    Set iMsg = CreateObject(“CDO.Message”)
    Set iConf = CreateObject(“CDO.Configuration”)
    Set Flds = iConf.Fields
    ‘ send one copy with Google SMTP server (with autentication)
    schema = “http://schemas.microsoft.com/cdo/configuration/”
    Flds.Item(schema & “sendusing”) = 2
    Flds.Item(schema & “smtpserver”) = “smtp.gmail.com”
    Flds.Item(schema & “smtpserverport”) = 465
    Flds.Item(schema & “smtpauthenticate”) = 1
    Flds.Item(schema & “sendusername”) = Username@gmail.com
    Flds.Item(schema & “sendpassword”) = password
    Flds.Item(schema & “smtpusessl”) = 1
    Flds.Update
    With iMsg
    .To = To
    .From = username@gmail.com
    .Subject = “Mail from gmail”
    .HTMLBody = “Test message using CDO in vb6 from Gmail smtp”
    Set .Configuration = iConf
    .Send
    End With
    Set iMsg = Nothing
    Set iConf = Nothing
    Set Flds = Nothing
    End Sub

    Jeg har CDO installeret og jeg kører windows 7
    Håber du har et godt råd til hvordan jeg kan få det til at virke.
    På forhånd tak.
    Med venlig hilsen
    Anette

  20. Hejsa

    Er det alle knapper der giver problemer? Har du installeret pdfcreator?

    /Michael Larsen

    Hej
    Utroligt fint program du har lavet, oplever bare en compiler fejl når jeg prøver en af “knapperne”
    Maskinen køre windows xp home og office 2003

    Compiler error:
    cant find project or library

    håber du kan kaste lidt lys over problemet

  21. Hej Michael

    Jeg får konstant nedenstående fejl, og faktura nr. bliver på 54 er det noget du kender til
    windows 7 64Bit, MS Office 2007

    /Per
    Private Sub Workbook_Open()

    Dim test As String

    inifile = ActiveWorkbook.Path & Application.PathSeparator & “config.ini”
    ‘gem password
    If GetPrivateProfileString32(inifile, “Mail”, “smtppassword”) “” Then
    svar = WritePrivateProfileString32(inifile, “Mail”, “smtppassword”, Encrypt(GetPrivateProfileString32(inifile, “Mail”, “smtppassword”)))
    End If

    ny_fak

    End Sub

  22. Hej Per

    Min første tanke er 64 bit! Men jeg er et par spørgsmål:

    1) får du ikke en egentlig fejlkode?
    2) har den virket?
    3) har du evt ændret noget på maskinen eller opgraderet noget software?

    /Michael

  23. Hej Michael
    super Ark du har lavet, jeg brugte det for et par år siden, og vil nu til at bruge det igen.
    Men intet virker, allerede når jeg åbner programmet kommer den med en fejl:
    “Compile error
    Cant find program or library”
    det skriver den hele tiden.
    Virker programmet ikke uden Mailopsætning, dette har jeg ikke lavet da dette ikke er aktuelt, og jeg har en meget nyere PdfCreator.
    Jeg kører Win10, 64 Bit, Office365Pro

  24. Hej Mathias

    Jeg er glad for at du tidligere har haft glæde af arket. Problemet er at det er lavet til en gammel udgave af Office Pakken(2003) i 32 bit og det er ikke nemt at få den op på 64 bit. En del af de libraries som er anvendt, findes slet ikke i 64 bit og arket skal(og bør pga de nye muligheder i en mere tidsvarende officepakke) derfor faktisk bygges helt forfra.
    Jeg har desværre ikke tiden til at starte forfra 🙁

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *