Bots voor financiën:hoe u de efficiëntie van uw backoffice kunt vergroten door middel van automatisering

De vermelding van het kantoor van de toekomst kan beelden oproepen van machines die repetitieve en arbeidsintensieve taken overnemen. Maar die toekomst is nu. De ontwikkeling van technologieën zoals cloudgebaseerde applicaties, evenals softwareplatforms en enterprise resource planning-systemen die bedrijven helpen een maximale operationele efficiëntie te bereiken, hebben geautomatiseerde kantoren tot een realiteit gemaakt.

Volgens het adviesbureau McKinsey hebben de financiële afdelingen van het bedrijf de kosten de afgelopen tien jaar met bijna 30% verlaagd door automatiseringsoplossingen te implementeren op gebieden als inkoop, boekhouding en salarisadministratie. Deze innovaties hebben financiële functies getransformeerd en veel inefficiënties geëlimineerd.

Als financieel analist en softwareontwikkelaar heb ik optimaal geprofiteerd van automatisering door bots op te zetten voor financiële taken toen ik mijn eigen adviesbureau, Pylink, oprichtte en bouwde. Maar veel financiële kantoren hebben dat nog steeds niet, dus ze blijven een buitensporige hoeveelheid tijd en middelen besteden aan het uitvoeren van basistaken.

Ik ben niet de enige die het probleem heeft opgemerkt. Het adviesbureau PwC ontdekte dat financiële kantoren hun productiviteit en inzicht moeten verhogen door middel van automatisering en procesverbetering, waardoor de kosten voor veel belangrijke functies met dubbele cijfers kunnen worden verlaagd. Uit onderzoek van PwC blijkt dat automatisering 40% van de tijd die mensen besteden aan managementrapportage, 27% van de tijd die aan belastingadministratie wordt besteed en 23% van de uren die aan kredietbeheer, algemene boekhouding en facturering worden besteed, kan verminderen.

Deloitte komt tot vergelijkbare conclusies:onder verwijzing naar onderzoek gepubliceerd door Ayehu, meldt het dat intelligente automatisering de kosten van bedrijfsprocessen met 25 tot 40% verlaagt. En uit het onderzoek van Gartner blijkt dat een bedrijf met 40 fulltime boekhoudmedewerkers elk jaar meer dan $ 870.000 aan uitgaven zou kunnen besparen door taken te automatiseren en extra werk om menselijke fouten op te lossen te elimineren.

In dit artikel wil ik enkele eenvoudige automatiseringsstrategieën met u delen die ik voor mijn bedrijf en mijn klanten heb gebruikt:eenvoudige oplossingen die nuttig kunnen zijn voor organisaties van elke omvang.

Kant-en-klare oplossingen zoals QuickBooks kunnen nuttig zijn voor kleinere organisaties. Om de efficiëntie te maximaliseren, raad ik echter aan om programmeertalen zoals Python te gebruiken om uw oplossingen op maat te bouwen, inclusief bots voor bedrijven. Python is zeer intuïtief en biedt een grote standaardbibliotheek met tools, plus toegang tot financiële bibliotheken, waardoor het veelzijdiger is dan Excel.

In mijn vorige artikel voor Toptal liet ik zien hoe eenvoudig het is om Python te gebruiken om op maat gemaakte cashflowmodellen voor bedrijven te ontwikkelen. Ik moedig je aan om dat te lezen als je geïnteresseerd bent in het leren van de taal. In dit artikel geef ik je echter een overzicht van praktische toepassingen - variërend van tijdregistratie tot salarisadministratie tot e-mail - die een ontwikkelaar snel en eenvoudig voor je kan implementeren als je niet zelf in de code wilt duiken.

Hoe My Firm gebruikmaakt van bots voor financiën:gemakkelijke, efficiënte betalingen

Laat me demonstreren hoe nuttig automatisering op maat kan zijn door u een voorbeeld van mijn bedrijf te laten zien, dat als case study kan dienen. Ondanks dat we een klein bedrijf zijn, hebben mijn team bij Pylink en ik te maken met een aanzienlijke complexiteit die uitdagingen met zich meebrengt als het gaat om betalingen, waaronder de volgende:

  • We werken aan verschillende projecten op basis van uurcontracten en moeten de tijd van elk van onze taken bijhouden.
  • Onze klanten komen uit verschillende landen en betalen ons dus in meerdere valuta's.
  • Terwijl we voor sommige projecten een intern software-engineeringteam gebruiken, besteden we andere uit aan ontwikkelaars uit verschillende landen.
  • Vanuit het oogpunt van belastingoptimalisatie hebben we drie bedrijven:een in het VK, een in de EU en een in de EU gevestigde individuele freelancer.
  • Al onze bedrijven hebben aparte bankrekeningen in meerdere valuta's, waaronder USD, EUR, GBP en HUF.
  • We hebben reguliere kosten, zoals belastingen, salarissen en voordelen voor fulltime medewerkers, kantoorruimte en -benodigdheden en software, in verschillende valuta's.

Om een ​​betalingssysteem te ontwikkelen dat aan deze uitdagingen voldoet, gebruik (en raad ik) de volgende technologieën aan om een ​​Python-bot te maken die draait in de cloudinfrastructuur van Amazon Web Services (AWS).

  • Codebase:Python (gratis te downloaden)
  • Service waarop de code draait:AWS Lambda
    • Lambda maakt het gemakkelijk om onze code-uitvoering naar behoefte te schalen.
    • Deze service wordt alleen van kracht wanneer deze wordt geactiveerd. Je zet je Python-code in een Lambda-functie en stelt een triggergebeurtenis in, van een Alexa-spraakopdracht tot een geplande kalendertijd.
    • Aangezien Lambda serverloos is, is het een kosteneffectieve oplossing waarvoor we alleen hoeven te betalen voor de computertijd die we daadwerkelijk gebruiken.
  • Tool voor banktransacties:Wise API
    • Een API (Application Programming Interface) is een software-tussenpersoon waarmee twee applicaties met elkaar kunnen communiceren. Wise API stelt mij en mijn team in staat om eenvoudig afschriftinformatie en historische transactiegegevens te krijgen, en om automatisch betalingen te doen. Het stelt ons ook in staat om wisselkoersen te volgen en geautomatiseerde conversies uit te voeren.
  • Tijdregistratie:Everhour + Everhour API
    • Deze software biedt nauwkeurige tijdregistratie en flexibele facturerings- en budgetteringsmogelijkheden. Bovendien integreert het naadloos met projectmanagementtools zoals Asana, Trello, Jira en GitHub.
  • E-mailafzender:Amazon Simple Email Service
    • Met Amazon SES hebben we een aanpasbare en veilige manier om HTML-e-mails te verzenden vanuit elke applicatie, samen met gegevensanalyse om leveringen en bounces te controleren.
    • Met de gratis gebruikslaag van SES kun je tot 62.000 berichten per maand gratis verzenden als je de service activeert vanuit een applicatie die wordt gehost in Amazon EC2 of via AWS Lambda.
  • Planner:AWS EventBridge
    • Met deze tool kunnen we onze Python-bot gemakkelijk activeren om maandelijks of halfmaandelijks geplande financiële functies uit te voeren.
    • Omdat EventBridge, net als Lambda, geen server nodig heeft voor gebruik, vermindert het onze overhead aanzienlijk.
  • Slack-melding:Slack API
    • Deze API stuurt realtime waarschuwingen om ons te informeren over de openingstijden van onze aannemers en om ons te laten weten of klanten ons hebben betaald.
  • Slappe communicatie met de bot:Slack API + Amazon API Gateway
    • Met de Slack API kan de Python-bot ons betalingsverzoeken sturen voor goedkeuring.
    • Met een enkele klik aan onze kant kan onze bot API Gateway gebruiken om elke betaling automatisch te voltooien.
    • API Gateway biedt een gratis laag die u een jaar lang toegang geeft tot meer dan een miljoen API-aanroepen en een miljoen berichten per maand.

Hier is hoe ik deze tools heb gebruikt om één multitask-use case te automatiseren:betalend personeel, contractanten en mezelf. Ik zal je het hele proces op hoog niveau laten zien voordat ik inga op de meest voorkomende automatiseringspraktijken.

Laten we nu de stappen doorlopen:

  1. Op de eerste dag van elke maand gebruiken we AWS EventBridge om de Python-bot te activeren die is opgeslagen in AWS Lambda.
  2. Met behulp van de Everhour API haalt de bot urenstaten op voor alle werknemers, contractanten (ontwikkelaars, in het geval van Pylink) en mij.
  3. Vervolgens verzamelt de bot de gewerkte uren voor elk project en maakt een urenstaat en een factuur (beide pdf's). Vervolgens stuurt het deze documenten via e-mail naar de klanten.
  4. Bovendien informeert de bot het team van Pylink via Slack over de uren van de aannemers. Het vraagt ​​ook om toestemming om ze te betalen door de knoppen "goedkeuren" en "weigeren" te presenteren.
  5. Als iemand van het managementteam van Pylink het verzoek goedkeurt, stuurt de bot een bericht naar onze eigen API (een altijd beschikbare openbare URL) via AWS API Gateway, die een andere code uitvoert in een Lambda-functie om de overdracht uit te voeren.
  6. De tweede Lambda-functie gebruikt de Wise API om de betaling uit te voeren.
  7. Op de 14e van elke maand gebruiken we EventBridge opnieuw om een ​​nieuwe reeks vervolgfuncties te plannen. Maar deze keer activeert EventBridge een andere code die is opgeslagen in een andere Lambda-functie.
  8. Deze code gebruikt de Wise API om de transacties van de afgelopen twee weken bij te houden en te controleren of de klant heeft betaald.
  9. Als er een betaling van de klant is geweest, stuurt de bot een Slack-bevestiging naar het Pylink-team via de Slack API. Als er geen betaling heeft plaatsgevonden, stuurt de bot een e-mail naar de klant met behulp van de Amazon SES-service.

Voorheen werden al deze taken handmatig uitgevoerd, wat kostbare tijd en energie kostte die nu elders kan worden besteed. Het beste van alles was dat we dit proces konden opzetten zonder een grote investering van tijd of geld.

Wat u kunt doen met automatisering

Laten we nu eens kijken naar enkele van de meest praktische toepassingen voor automatisering, met behulp van de tools die ik al heb besproken. Ter referentie zal ik enkele codeervoorbeelden toevoegen als hulpmiddel voor uw interne, contract- of freelance-ontwikkelaars, of voor uzelf, mocht u ervoor kiezen om Python te leren om te helpen bij uw bedrijf of klantwerk.

Werkuren en projecten bijhouden

Aan het einde van elke maand voert de bot (met Everhour) de functie "close_the_month" uit die alle uren verzamelt die aan verschillende opdrachten zijn besteed:

  • Mijn uren voor mijn adviesprojecten (omzet)
  • De uren van de ontwikkelaars op de projecten van de klant (zowel inkomsten als kosten)
  • De uren van de ontwikkelaars op onze eigen softwareontwikkeling (kosten)

Wat volgt is een eenvoudige functie die een Pandas DataFrame retourneert, d.w.z. een tabel met rijen en kolommen, inclusief alle uren en projecten voor een bepaalde tijdsperiode voor een bepaalde gebruiker. Houd er rekening mee dat, zoals eerder vermeld, dit en alle volgende codefragmenten slechts hoogtepunten zijn van de hele codebase, geen stapsgewijze zelfstudie om onze bot te bouwen.

Een PDF-urenstaat en factuur maken

Nu de projecturen van elke werknemer automatisch worden bijgehouden, is de volgende taak het maken van urenstaten en facturen. Er zijn veel Python-pakketten waarmee u PDF-bestanden kunt maken. We gebruiken PyFPDF, een compacte documentgeneratiebibliotheek die zowel eenvoud als de flexibiliteit biedt om vormen te tekenen en afbeeldingen en tekst toe te voegen. Zoals u kunt zien in het volgende voorbeeld, levert dit een schone en professionele factuur op:

Hoewel er geavanceerdere methoden zijn om rapporten te maken, is PDF een goede keuze omdat het een universeel formaat is dat in alle sectoren wordt gebruikt en het gemakkelijk te genereren is. Het maakt het ook mogelijk om bestanden naar iedereen te verzenden en ervoor te zorgen dat alle lettertypen, afbeeldingen, tabellen en opmaak worden overgedragen. Bovendien werkt het onafhankelijk van uw computerhardware en besturingssysteem en kan het offline worden gebruikt.

E-mails verzenden

Amazon Simple Email Service is een kosteneffectieve en schaalbare tool voor het maken en implementeren van mooi opgemaakte HTML-e-mails. Bovendien volgen en delen de gegevensanalyses van SES informatie over de resultaten van de feedbackloop om u op de hoogte te stellen als ontvangers uw bericht als spam melden, hetzij per ongeluk, hetzij omdat de e-mail naar het verkeerde adres is verzonden. De analyses meten ook de effectiviteit van elke communicatie in termen van betrokkenheid, inclusief open en doorklikpercentages. Deze functie is vooral handig voor marketing-e-mails.

Hier is een voorbeeld van de Python-code die wordt gebruikt om een ​​e-mail met een bijgevoegde factuur te genereren en naar een klant te sturen:

En hier is de e-mail die het produceert:

Bankactiviteiten automatiseren

We hebben Wise gekozen voor particuliere en zakelijke bankrekeningen omdat we inkomsten en kosten hebben in verschillende valuta's, en dit financiële technologiebedrijf heeft gunstige wisselkoersen, een intuïtieve gebruikersinterface en een flexibele API met gedetailleerde documentatie.

We gebruiken deze API om de volgende taken uit te voeren:

  • Verzamel afschriftinformatie voor elk bedrijf en elke valuta, zodat ik snel de totale en werkelijke liquiditeit kan zien.
  • Haal historische transactie-informatie op, zodat ik trends in verschillende kostenposten kan identificeren en kan controleren of de klant de factuur van de vorige maand heeft betaald. Als dat niet het geval is, stuurt de API een herinneringsmail.
  • Maak automatisch geld overboekingen.

Hieronder staat de code die we hebben geprogrammeerd om de eerste van deze taken te voltooien (het verzamelen van informatie over de afschriften):

Voor reguliere vaste kosten (salaris, belastingen, kantoorkosten, etc.) hoef je geen code te schrijven om automatische overboekingen te doen; Wise heeft een geplande betalingsfunctie. Als het bedrag echter niet vaststaat maar gebaseerd is op een formule die een algoritme kan berekenen, is de Wise API handig. In mijn geval is het salaris van de bedrijfsadviseur een opmerkelijk voorbeeld, omdat het een functie is van de maandelijkse inkomsten. Door de bijgehouden uren te controleren, weet de bot precies hoeveel omzet we hebben en dus hoeveel hij de adviseur moet betalen.

Risico's verkleinen door een tweezijdig gesprek met beide

Het is van cruciaal belang om op de hoogte te zijn van de activiteit van de bot, omdat er programmeerfouten kunnen zijn die tijdens het testen niet worden onthuld. We krijgen realtime meldingen op Slack, zodat we elke gebroken code snel kunnen repareren. Hier zijn een paar voorbeelden van meldingen die ons laten weten dat de bot goed werkt:

We hebben de bot ook in staat gesteld om vóór elke bankoverschrijving bevestigingsvragen naar het Pylink-team te sturen. Dit helpt ons fouten als gevolg van menselijke fouten te voorkomen. Stel je voor dat een ontwikkelaar een typfout maakt en 825 uur invoert in plaats van 8,25 uur voor één ticket. Een goedkeuringsstap in Slack zorgt ervoor dat we niet honderd keer meer geld overmaken dan we verschuldigd zijn. Het proces behoudt het element van menselijke verificatie, maar levert een naadloze ervaring op.

Er is ook veel andere functionaliteit die u kunt bereiken met de Slack API.

Het kantoor van morgen

Bedrijfsautomatisering kan organisaties helpen groeien. De tools die ik heb besproken, kunnen bedrijven transformeren die behoefte hebben aan meer efficiëntie en controle, vooral als het gaat om transactiefuncties zoals crediteuren, debiteuren en andere belangrijke boekhoudgebieden.

Maar dit is niet het einde van het verhaal. Volgens McKinsey is de uitdaging voor bedrijfsleiders om een ​​nog breder netwerk uit te werpen voor nieuwe efficiëntieverbeteringen. Het bedrijf ondersteunt het opnieuw vormgeven van de hele financiële operatie, die verder gaat dan alleen transactietaken door toonaangevend te zijn op gebieden als data-analyse:het consolideren, vereenvoudigen en controleren van informatie in het hele bedrijf. Ik kon het niet meer eens zijn. Ik raad je aan om coderingsoplossingen te onderzoeken die je organisatie helpen om hun antwoorden eigen te maken en de resultaatgerichte cultuur te bevorderen. In de tussentijd kan het toepassen van de tactieken die ik hier heb beschreven, uw bedrijf helpen vandaag efficiënter te worden, terwijl u een voorproefje krijgt van de mogelijkheden van morgen.


Bedrijfsfinanciering
  1. boekhouding
  2. Bedrijfsstrategie
  3. Bedrijf
  4. Klantrelatiebeheer
  5. financiën
  6. Aandelen beheer
  7. Persoonlijke financiën
  8. investeren
  9. Bedrijfsfinanciering
  10. begroting
  11. Besparingen
  12. verzekering
  13. schuld
  14. met pensioen gaan