Inleiding
Met de PDFinvoice2UBL kunt u uw eigen PDF / Word facturen omzetten naar UBL en direct naar een digitale box zenden van uw boekhoudomgeving. Zeker als het als het redelijk dezelfde verkoopfacturen zijn kan dit veel tijd schelen om deze te boeken. Bij deze laten we een simpel voorbeeld zien van een in Openoffice gemaakte verkoopfactuur.
Dit is een simpele inleiding tot het PDFinvoice2UBL programma. Derhalve gaan we vooralsnog uit dat we in het kader van de boekhouding niet geïnteresseerd zijn in gedetailleerde factuurregels. We gaan er nu ook vanuit dat over de omzet altijd 21% BTW wordt berekend. Voor de hier rechts getoonde verkoopfactuur gaan we een masker bestand maken. Als de verkoopfacturen qua wijze van opbouw niet wijzigen dan is er sprake van één keer tijd steken in het inrichten van het masker bestand en vervolgend dit gebruiken voor alle verkoopfacturen die je zelf maakt in Word of ander programma welke hier een PDF van maakt of welke klanten op deze wijze aanleveren.
Let op dat het programma vooralsnog geen gescande verkoopfacturen verwerkt.
PDFinvoice2UBL
Na openen van het programma krijgt je het volgende te zien:
Bovenin is er een menubalk voor het beheren en instellen van de Maskers, rechtsonder staat de licentie-informatie, rechtsonder staat de voortgangsindicator. Boven het licentievlak staat welk masker geselecteerd is. Daarnaast staat een vinkbox om aan te vinken dat u een UBL bestand wilt mailen (naar bijvoorbeeld de digitale box van Exact) of dat er sprake is van een verzameling verkoopfacturen in één PDF. Daarnaast kunt je een masker kiezen en daaronder is de optie om 1 bestand te kiezen op een map met facturen. In het eerste geval wordt er maar 1 factuur naar UBL omgezet en in het tweede geval worden alle facturen in de betreffende map omzet naar UBL.
Masker maken
We gaan eerst een Masker bestand voor de bijgaande factuur maken. We kiezen onder het menu 'Masker' voor 'Bewerk Masker'.
Als hier voor wordt gekozen dan opent een nieuw venster. Aan de linker kant van dit venster wordt de verkoopfactuur in tekstformaat getoond en is zichtbaar welke onderdelen geselecteerd worden uit de factuur. Aan de rechterkant staan de algemene gegevens die behoren bij het maskerbestand. Daaronder kunt u stuurcodes selecteren en toevoegen waarmee we aangeven hoe een factuur gelezen moet worden door het programma. Helemaal onderaan kan bij het instellen van het masker gevolgd worden welke informatie uit de factuur verzameld wordt.
We kiezen vervolgens een voorbeeld (verkoop)factuur. In principe is dit een PDF bestand, maar als Microsoft Office geïnstalleerd is op uw computer dan zal het programma op de achtergrond een Word of Openoffice document door WORD laten omzetten naar PDF. Dit is ook handig als uzelf of uw klanten alle verkoopfacturen alleen uitprinten en niet in PDF bewaren.
Met de knop 'Voorbeeld pdf' kunnen we een factuur kiezen. Na het kiezen wordt deze factuur gelezen door het programma en omzet naar een tekstbestand met behoud van de lay-out van de factuur. Hierdoor worden plaatjes etc. niet meegenomen. Aan de linkerkant verschijnt vervolgens dit voorbeeld bestand:
Nu we een beeld hebben hoe de factuur herkend wordt door het programma gaan we aan de slag met het maken van het Masker en daarmee instructies geven aan het programma hoe deze een factuur moet worden geinterpreteerd.
Dit kan aan de rechterkant bij het onderdeel Stuurcodes. Hier kunnen verschillende basiscommando's gekozen worden waarmee we de factuurherkenning kunnen programmeren. We beginnen hierbij met de gegevens van de leverancier, ofwel de als het onze eigen verkoopfacturen betreft onze gegevens. In dit voorbeeld het bedrijf Mooie Software. Omdat deze gegevens redelijk statisch zijn en niet snel zullen veranderen kunnen we deze hard ingeven. Dit kunnen we doen met het commando SET.
We kiezen voor de Stuurcode SET. Vervolgens verschijnen er velden onder deze stuurcode die behoren bij het commando SET. We zien in dit geval een keuze mogelijkheid voor een Variabele en daaronder een tekstvlakje om tekst in te geven welke we willen koppelen aan de Variabele. Als we op de keuzebox variabele klikken dan verschijnen er een hoop standaard variabele die het programma gebruikt. Wel kunnen ook zelf variabelen maken, maar daar komen we later op terug.
We kiezen eerst voor de variabele SUPLNAME wat staat voor de standaardvariabele voor de leveranciersnaam. Vervolgens kunt u in het vakje inhoud de naam zetten 'Mooie Software'. Dit kan echter ook op een veel snellere wijze door één keer in het tekstvlakje van 'Inhoud' te klikken. Vervolgens klikt u vervolgens aan de linkerzijde één keer voor de tekst 'Mooie Software' en één keer na deze tekst. Het programma kopieert dan de tekst naar het tekstvlak inhoud.
Kies vervolgens de knop toevoegen om dit commando toe te voegen. Als u een fout heeft gemaakt dan verwijderd u het commando door in het overzicht van de commando's de foute regel te selecteren en vervolgens met een rechtermuisklik te kiezen voor verwijderen. U kunt dan het commando weer opnieuw toevoegen. Selecteer het commando en gebruik vervolgens de pijlen om het
commando omhoog of omlaag in de lijst van commando's te zetten.
Doe dit zelfde ook voor leveranciersadres (SUPLADRES), postcode (SUPLPC), plaats (SUPLCITY) en eventueel IBAN (SUPLIBAN) en Kamer van koophandelnummer (SUPLREGID).
Merk op dat onder in het variabele overzicht ook de inhoud van de variabele zichtbaar is.
We gaan nu aan de slag met de afnemers gegevens en vervolgens de factuurgegevens. In ons voorbeeld worden de afnemersgegevens voorafgegaan door de tekst "Aan:". We kunnen dat gebruiken om ervoor te zorgen dat daar naar toe kunnen navigeren om het programma daar de afnemers gegevens te laten verzamelen. We kiezen de functie SEARCH. Met deze functie zoekt het programma naar een bepaalde tekst in de factuur vanaf de vorige locatie (tekstregel van de factuur).
Als we deze commando toevoegen dan zien we aan de linkerkant een rood blokje om de tekst 'Aan:'. Dit geeft aan dat het programma dit stukje tekst heeft gevonden en naar die tekstregel is gegaan in die factuur.
De klantnaam staat echter een regel lager in de factuur. We kiezen voor het commando 'NEXT'. Hierdoor gaan we een tekstregel naar beneden:
Vervolgens willen we de afnemersnaam (CUSTNAME) uit de tekstregel halen. Hiervoor gebruiken we het commando 'GET'. Met GET kunnen gegevens uit factuurtekstregels gehaald worden en zoals later blijkt ook uit andere variabelen. Daar er op de tekstregel geen andere informatie staat dan de klantinformatie kiezen we voor de subcode 'ALL'. Hiermee wordt de gehele regel binnengehaald. Overbodige spaties aan het begin en het einde worden hierbij verwijderd.
Kies voor toevoegen. Vervolgens kiezen we weer NEXT en toevoegen om naar de volgende regel te gaan. Dit betreft bij deze factuur standaard een t.a.v. regel waar we in het kader van de omzetting naar UBL niet mee doen. We voegen derhalve nog een NEXT commando toe zodat we twee regels naar beneden zijn gegaan. Kies vervolgens weer voor GET en vervolgens ALL en kies toevoegen. Aan de linkerkant zijn groene rechthoekjes zichtbaar welke aangeven welke onderdelen uit de factuur tekstregels zijn gekopieerd.
Voor de postcode + plaatsregel zijn meerdere opties mogelijk. We gaan hier laten zien hoe we een hulpvariabele kunnen gebruiken om deze gegevens uit de factuur te halen. We kiezen eerst het commando NEXT om weer een tekstregel naar beneden te gaan. Vervolgens kiezen we weer het commando GET en subcommando ALL, maar in plaats van een variabele te selecteren maken we er zelf eentje aan door 'HULP' in het tekstveld Variabele te tikken.
Kies vervolgens weer het commando GET, maar kies nu voor subcommando LEFTVAR (linker deel uit variabele). Heef als variabele in CUSTPC (afnemers postcode) en kies als bronvariabele de HULP die we eerder zelf hebben aangemaakt. Bij het aantal tekens vanaf links kiezen we voor 7, want een postcode bestaat uit 7 tekens '1234 AA' . Het zelfde doen we voor de afnemersplaats (CUSTCITY). Alleen hier kiezen we voor subcode MIDVAR (deel uit variabele). Als start geven we 8 in en als lengte bijvoorbeeld 100 (als de plaatsnaam minder in dan 100 tekens dan wordt dat mindere gekopieerd naar de CUSTCITY variabele, als bijvoorbeeld 5 wordt ingevoerd worden alleen de eerste 5 letters van de plaatsnaam gekopieerd).
We gaan vervolgens naar het factuurnummer zoeken. Kies commando SEARCH en de zoektekst Factuurnummer. Er verschijnt een rode rechthoek om Factuurnummer in de voorbeeldfactuur. Om het factuurnummer (INVNR) te krijgen gebruiken we weer het commando GET. Als subcommando kiezen we vervolgens RIGHTFROM en als zoektekst een dubbelepunt ':'. Hierdoor wordt alles rechts van de dubbelepunt als informatie beschouwd die we willen hebben.
Vervolgens zoeken we naar factuurdatum (INVDATE) met het commando SEARCH. We gebruiken vervolgens ook hier het commando GET, subcommando RIGHTFROM en de zoektekst : om de variabele INVDATE te vullen.
Vervolgens gaan we op zoek naar de factuurbedragen. Daar we hier uitgegaan zijn van omzetten waar altijd 21% BTW over wordt afgedragen en we ervan uitgegaan zijn dat we niet geïnteresseerd zijn in gedetailleerde factuurregels gaat wij het BTW bedrag uit de factuur halen en het bedrag inclusief BTW. Het programma berekend dan zelf het bedrag exclusief BTW. Hiermee worden ook kleine afrondingsverschillen voorkomen.
Kies het commando SEARCH en zoek naar BTW 21%. Kies vervolgens het commando GET en subcommando RIGHTFROM met zoektekst %, kies de variabele ROWVATAMT (btwbedrag).
Daar het BTW percentage altijd hetzelde is in dit geval geven we deze in met een SET commando.
Zoek vervolgens met het commando SEARCH naar de tekst Totaal. Kies vervolgens GET, subcommando RIGHTFROM, zoektekst Totaal om de variabele ROWTOTAMT (Regeltotaal) te vullen.
Vervolgens gaan we nog een regelomschrijving toevoegen. We gebruiken hiervoor weer het commando SET om de variabele ROWDESC te vullen. Met op dat we in de inhoud variabele namen gebruiken welke tussen [ ] haken staan. Hierdoor wordt de inhoud van deze variabele gesubtitueerd. In dit geval laat de factuuregeltekst de naam van de afnemer zien en het factuurnummer.
We sluiten de commandoreeks af met het commando ADDROW. Hiermee wordt de regel toegevoegd aan de UBL. Bij de geavanceerde instructies zullen we laten zien hoe we meerdere factuuregels kunnen toevoegen. De ADDROW is in dat kader van belang om aan te geven dat we naar de volgende factuuregels gaan.
We zijn klaar met het masker. U kunt de algemene gegevens verder invullen Naam, eventueel administratie of klantnummer en e-mailadres van digitale box van bijvoorbeeld Exact. Kies voor 'Opslaan' en het masker wordt opgeslagen.