<< Click to Display Table of Contents >> Muis integratie |
![]() ![]() ![]() |
Vanaf 2018 wordt de integratie van Logicworks CRM met online boekhoudsoftware gerealiseerd met behulp van onze online Logicworks Connector www.appligare.com. Met deze grotendeels gestandaardiseerde service is het mogelijk om op eenvoudige wijze met meerdere boekhoudpakketten een integratie te realiseren. In dit hoofdstuk worden de stappen beschreven welke noodzakelijk zijn om een integratie Muis Online van Muis Software te realiseren.
Aan het Setup onStart script (menuoptie Extra > Setup > tab:Algemeen) moeten de volgende eigenschappen worden toegevoegd. Hierbij moet de {omgevingscode} worden vervangen door de van Muis verkregen omgevingscode.
LWCRM.FAPI.AccountingSystem = "muis"
LWCRM.FAPI.AccountCode = "{omgevingscode}"
Bij de synchronisatie met Muis moet gebruik gemaakt worden van de coderingen welke Muis intern hanteert. Het betreft de volgende keuzelijsten, welke ingevuld moeten worden.
Betalingsconditie. Keuzelijst komt voor in de bedrijven, contactpersonen en facturen (veld: paymentterms)
BTW code. Keuzelijst komt voor in de bedrijven, contactpersonen en facturen
Verzamelrekening Debiteuren. Keuzelijst komt voor in de bedrijven en contactpersonen (veld: salescollectaccount)
Tegenrekening Debiteuren. Keuzelijst komt voor in de bedrijven en contactpersonen (veld: salesaccount)
Verkoop dagboek. Keuzelijst komt voor in de bedrijven, contactpersonen en facturen (veld: salesjournal)
Net als bij alle andere keuzelijsten kan ook bij deze lijsten de kolom 'Conversie' worden ingevuld, zie onderstaande afbeelding. In deze kolom dient de overeenkomstige code uit Muis overgenomen te worden, zodat Logicworks CRM bij de synchronisatie de juiste codes kan doorgeven aan Muis.
Bij het synchroniseren van de adressen worden een viertal adrestypes gebruikt: bezoekadres, postadres, factuuradres en afleveradres. Om deze adressen te kunnen synchroniseren is het noodzakelijk in de keuzelijst adrestype aan te geven welke adrestype hiermee correspondeert. We gebruiken hiervoor de kolom conversie in de keuzelijst adrestype en de volgende waarden kunnen gebruikt worden:
Bezoekadres: visit
Postadres: postal
Factuuradres: invoice
Afleveradres: delivery
Een volgende stap is het instellen van een tweetal Workflowregels voor Bedrijven en Contactpersonen. Zorg dat beide workflowregels worden geactiveerd bij een nieuw record of bij een wijziging in een record.
In de onderstaande scripts wordt UploadAccount() aangeroepen, welke zorg draagt voor een correct upload van de debiteur/crediteur-gegevens. Een relatie wordt alleen geupload naar Muis als het veld debiteur-nummer of crediteur-nummer is ingevuld.
Voor de derde parameter saveResult (standaardwaarde = false) kan aangegeven worden of een uitgebreid verslag van de synchronisatie moet worden vastgelegd in de Activiteiten-log. Mochten zich echter problemen voordoen bij de integratie, dan is het verstandig om tijdelijk true als parameterwaarde door te geven, zodat extra informatie voorhanden is om het probleem op te lossen.
Workflowregel actiescript Contactpersonen
Function crmScript
Const otContact = 1
Call LWCRM.FAPI.UploadAccount( otContact, LWCRM.Workflow.KeyValue, [saveResult] )
crmScript = true
End Function
Workflowregel actiescript Bedrijven
Function crmScript
Const otAccount = 2
Call LWCRM.FAPI.UploadAccount( otAccount, LWCRM.Workflow.KeyValue, [saveResult] )
crmScript = true
End Function
Voor het uploaden van de facturen naar de Muis administratie zal het in de regel niet verstandig zijn een Workflowregel te schrijven. De menuoptie geeft gebruikers de mogelijkheid de facturen op zelf te bepalen momenten te uploaden naar Muis.
Het is mogelijk een PDF-versie van de factuur te uploaden naar Muis. Geef in dat geval het veld templateId van het sjabloon door waarmee de PDF kan worden gegenereerd.
Normaal gesproken wordt in de factuur gekeken welke Verkoopdagboek (salesJournal) is gebruikt. Is dit veld niet gevuld, dan wordt deze bepaald a.d.h.v. de debiteur. Het is echter ook mogelijk zelf een Verkoopdagboek code mee te geven bij de functie-aanroep. In dat geval wordt dit dagboek gehanteerd in de journaalposten.
In sommige gevallen is het niet mogelijk een uniek debiteurnummer te bepalen voor de factuur. In die gevallen kan een debiteurnummer worden meegegeven, welke automatisch als debiteurnummer zal worden gebruikt in de journaalposten.
Gebruikers menuoptie Facturen: Upload factuur
Function crmScript()
Const templateId = "00000"
invoiceId = Split( LWCRM.SelectedKeyvalues, ",")
For i = 0 To UBound(invoiceId)
Call LWCRM.FAPI.UploadSalesInvoice( invoiceId(i), [templateId], [salesJournal], [debtorNumber] )
Next
crmScript = true
End Function
Naast het genereren van journaalposten voor facturen is de mogelijkheid aanwezig factuurbetalingen te verwerken met de functie LWCRM.FAPI.ProcessInvoiceStatus().
Door als tweede parameter true te gebruiken wordt bij de verwerking van de betalingen een uitgebreid verslag weggeschreven in de Activiteiten van de betreffende factuur.
Gebruikers menuoptie Facturen: Betalingen verwerken
Function crmScript()
Const lwcPaid = 3
Set rstInvoice = CreateObject( "ADODB.Recordset" )
sql = "SELECT invoiceid, invoicenumber FROM invoices WHERE status <> " & lwcPaid
rstInvoice.Open sql, LWCRM.Database.Connection, 0, 1, 1
Do While Not rstInvoice.EOF
Call lwcrm.showuserinfo("Verwerken betalingen factuur: " & rstInvoice.Fields("invoicenumber").Value)
Call LWCRM.FAPI.ProcessInvoiceStatus( rstInvoice.Fields("invoiceid").Value, false )
rstInvoice.MoveNext
Loop
rstInvoice.Close
crmScript = true
End Function
Wanneer erg veel customizations zijn uitgevoerd in de CRM database, kan het voorkomen dat de standaard debiteur/crediteur-koppeling de upload-gegevens niet allemaal vult met de gewenste gegevens. In deze situatie is het mogelijk via de callouts PreUploadDebtorData() en PreUploadCreditorData() de te uploaden gegevens aan te passen voordat deze daadwerkelijk worden geüpload.
De te uploaden gegevens bevinden zich in LWCRM.Webservices.httpContentBody.
Ook is het mogelijk de action 'POST" of 'PUT' te overschrijven, deze actie ligt vast in LWCRM.Webservices.httpAction.