GoFundMe Calculator V1.0
If you use GoFundMe or plan to in the future then you will find out that they charge a fee. Of course they do, they don't have to do anything for anyone and as they state on their website (and it most certainly makes sense to me) if you see anyone claiming to do it for free then more than likely it is a scam. I don't like being charged any more than anyone else, but I have to be grateful for a service that wouldn't be avaible otherwise; at least not as easily.
The fee they charge uses a formula with a percentage of the full donation + a fee for each card transaction that is ran through a card processing company. In the end (and IMHO) the fees really aren't that bad. But most people would never know exaclty what they will receive until the final withdrawal (or you do the math yourself of course). GoFundMe pricing can and formulas can be found here: GoFundMe Pricing Page, but today I bring you GoFundMe Calculator V1.0!
GoFundMe Calculator V1.0 calculates the total your recipient receives by providing the total donation and the total number of donations. This will work for all country regions and various VAT percentages in those respective countries. You can also use this before you even start the fund to estimate how much you need to aim for.
Images
Script
As with most of my programs (mostly written in AutoHotkey) I provide the source.
; GoFundMe Calculator #NoTrayIcon OnExit, GuiClose OnMessage(0x3,"WM_MOVE") OnMessage(0x200, "WM_MOUSEMOVE") ; Init #SingleInstance, Force ;Build Gui Gui, Font, s11 cBlack, Segoe UI Gui, Add, Text, xm ym w200, Donation Total: Gui, Add, Edit, w200 vvTotal Gui, Add, Text, w200, Donation Count: Gui, Add, Edit, w200 vvDCount Gui, Show, Autosize, GoFundMe Calculator WinGet, vClst, ControlList, GoFundMe Calculator Loop, Parse, vClst, `n { ControlGetPos, vX, vY, vW, vH, % A_LoopField, GoFundMe Calculator If !vTop vTop := vY - 23 If !vLeft vLeft := vX vBttnX := (vX + vW) + 8 vBttnH := (vY + vH) - 31 vNextArea := vBttnH + 13 } Gui, Add, Button, y%vTop% x%vBttnX% ggsSbmtTtl vvBttnMv, Calculate GuiControl, Move, vBttnMv, y%vTop% x%vBttnX% h%vBttnH% ControlGetPos, , , vWb, , Button1, GoFundMe Calculator Gui, Font, s14 cRed, Segoe UI Gui, Add, Text, x%vLeft% y%vNextArea% w200, You'll Receive: Gui, Font, s11 cBlack, Segoe UI Gui, Add, Button, x%vBttnX% yp w%vWb% vvBttnMvb, Info ControlGetPos, , vYc, ,vHc, Button2, GoFundMe Calculator Gui, Font, s14 cRed, Segoe UI Gui, Add, Text, x%vLeft% y%vYc% w200 vvFnl, ControlGetPos, , , ,vHd, Static3, GoFundMe Calculator ControlGetPos, , , ,vHe, Static4, GoFundMe Calculator vNfoH := vHd + vHe GuiControl, Move, vBttnMvb, h%vNfoH% Gui, Font, s11 cBlack, Segoe UI Gui, Add, DropDownList, w200 vvCntrChc, US/Canada||United Kingdom|Australia Only|Charities|International (VAT 17`%)|International (VAT 19`%)|International (VAT 20`%)|International (VAT 21`%)|International (VAT 22`%)|International (VAT 23`%)|International (VAT 24`%) Gui, Font, s7 cBlack, Segoe UI vLnkMrgn := vBttnX + 8 Gui, Add, Link, x%vLnkMrgn% yp, My Deviant Gui, Add, Link, x%vLnkMrgn% yp+16, Microcosm Gui, Show, Autosize, GoFundMe Calculator Return ; Functions MouseOver(vXa, vYa, vXb, vYb) { MouseGetPos, vPx, vPy vDtct := vPx >= vXa AND vPx <= vXb AND vPy >= vYa AND vPy <= vYb Return vDtct } WM_MOUSEMOVE(){ If MouseOver("19", "218", "219", "247") Or MouseOver("16", "61", "216", "89") Or MouseOver("16", "125", "216", "153") { If MouseOver("19", "218", "219", "247") ToolTip % "Select your region here." If MouseOver("16", "61", "216", "89") ToolTip % "Enter donation total here..." If MouseOver("16", "125", "216", "153") ToolTip % "Enter donation count here. Not needed for charities." } Else ToolTip } WM_MOUSELEAVE(){ ToolTip } WM_MOVE(wParam, lParam){ IfWinExist, GoFundMe Calculator Info Gosub, gsChckMsgBx IfWinExist, GoFundMe Calculator Error Gosub, gsChckErr } fncCalcDonation(va,vb,vc){ If !va { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Donation Total not provided..." Return } If (vc = "US/Canada") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl :=Round(va - ((va * .079) + (vb * .30)), 2) } If (vc = "United Kingdom") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .064)+((vb * .20) + (vb * .20))), 2) } If (vc = "Australia Only") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .0675)+(vb * .30)), 2) } If (vc = "Charities") { If vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Charities does not need Donation Count..." Return } vTtl := Round(va - (va * .0925), 2) } If (vc = "International (VAT 17%)") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .079)+((vb * .25) + (vb * .17))), 2) } If (vc = "International (VAT 19%)") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .079)+((vb * .25) + (vb * .19))), 2) } If (vc = "International (VAT 20%)") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .079)+((vb * .25) + (vb * .20))), 2) } If (vc = "International (VAT 21%)") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .079)+((vb * .25) + (vb * .21))), 2) } If (vc = "International (VAT 22%)") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .079)+((vb * .25) + (vb * .22))), 2) } If (vc = "International (VAT 23%)") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .079)+((vb * .25) + (vb * .23))), 2) } If (vc = "International (VAT 24%)") { If !vb { SetTimer, gsChckErr, -201 MsgBox, 16, GoFundMe Calculator Error, % "Enter both numbers and try again..." Return } vTtl := Round(va - ((va * .079)+((vb * .25) + (vb * .24))), 2) } If vTtl Contains - vTtl = 0 Return vTtl } fncMvMsgBx(vPTitle, vCTitle, vTtMtchMd := "Fast"){ SetTitleMatchMode, % vTtMtchMd IfWinExist, % vCTitle { WinGetPos, vCx, vCy, vCw, vCh, % vPTitle WinGetPos, , , vDw, vDh, % vCTitle vMy := vCy + vCh + 13 If (vCw < vDw) vNx := vCx - ((vDw - vCw) / 2) Else vNx := vCx + ((vCw - vDw) / 2) WinMove, % vCTitle, , %vNx% ,%vMy% } WinActivate, GoFundMe Calculator SetTitleMatchMode, Fast } fncInfo(){ SetTimer, gsChckMsgBx, -201 Sleep, 1 Gui, Info: New nf("12") Gui, Info: Add, Text, xm ym, % "Information about GoFundMe pricing can be found here:" Gui, Info: Show, , GoFundMe Calculator Info ControlGetPos, , , , vHg, Static1, GoFundMe Calculator Info Gui, Info: Add, Link, xp yp+%vHg% , GoFundMe Pricing Page Gui, Info: Show, , GoFundMe Calculator Info ControlGetPos, , , ,vHf , SysLink1, GoFundMe Calculator Info Gui, Info: Add, Text, xp yp+%vHf%, % "Select your region and enter the Donations Total and" . "`nthe Donations Count and click the [Calculate] button." . "`nPrices vary per country." . "`n`nNote: This calculator should be accurate within a cent" . "`nor two as it is rounded to the closest cent. If you have" . "`nany errors, questions, or any feedback in general, please" . "`nsend any inqueries to:" Gui, Info: Show, , GoFundMe Calculator Info ControlGetPos, , vYe, ,vHe , Static2, GoFundMe Calculator Info Gui, Info: Add, Link, xp yp+%vHe%, faithnomoread@yahoo.com Gui, Info: Show, Autosize, GoFundMe Calculator Info } nf(vs := "11",vc := "Black",vf := "Segoe UI"){ Gui, Info: Font, s%vs% c%vc%, %vf% } ; Gosubs ButtonInfo: SetTimer, gsChckMsgBx, -201 Sleep, 1 fncInfo() Return gsChckMsgBx: fncMvMsgBx("GoFundMe Calculator", "GoFundMe Calculator Info", "3") Return gsChckErr: fncMvMsgBx("GoFundMe Calculator", "GoFundMe Calculator Error", "3") Return gsSbmtTtl: Gui, Submit, NoHide GuiControl, , vFnl, % fncCalcDonation(vTotal, vDCount, vCntrChc) Return GuiClose: ExitApp