C# Assembly/DLL required for basic household and personal small business accounting needs.
Must handle household finances and soho office needs: account xfers/splits payments/split credits/bidding & invoicing/cc and check payments/accounts payable/accounts receivable.
I do not need a GUI (I expect to roll my own in ASP.NET) -- but if you are 'repackaging' a previously sold project ;-) -- any headstart is appreciated!
Although I am just looking for the basics of accounting (listed above) I would like this to be extended as I grow -- so considerations as to how Hours/Inventory/etc. fit in are important.
No GUI interface required (but if you do any for testing etc. great!_ -- just the Functions/SQL to do the following everyday transactions:
* GetBalanceAccount (eg: Balance of Cash account)
* GetBalanceCategory (eg: Balance of All OfficeSupplies purchased in DateRange)
* MakeXFer (eg: Transfer amount of Cash from Bank to Cash account)
* CashPurchase (quick spending of Cash at LocalSuperMarket , buying Food)
* Create New Bid (start a TransactionCollection)
* Add Transaction/LineItems to Bid
* Convert Bid to Invoice
* LogmyHours (Add LineItem to an Invoice)
* ReceivePayment (CC or Check)
* Report Payments due/coming (based on DueDate, or on %installement?).
* Report: Bills that are due
(I might have forgotten a couple, but you get the basic idea of what I am looking for...)
2. Split Debits and Credits.
It seems that all my purchases are at supermarkets where you can purchase Food, as well as Business Supplies...
I therefore need split purchases/payments.
3. Bills Payment System
Receive Bills, pay bills, be reminded of due bills... Um..sometimes I pay a little now, a little later...half in CC, half in Check. Ie. Split payments.
4. Bid/Invoice System
I would like to create Bids that I can turn into Invoices, and receive Payments for.
Each Bid/Invoice can have several sections, with different Transaction/LineItems per section:
Bid/Invoice -- (= $1510-600=$1110 due) (<-- Calc'ed)
* SummaryLine:"Scaffolding" -- (=$460) (<-- Calc'ed)
* LineItem:"Labour": --$160
* LineItem:"Expenses" -- $300
* SummaryLine:"Paint Job" -- (:=$1050)
* LineItem:"West Wall" -- 15x$70
*Payments -- (:=$600) (<-- Calc'ed)
* LineItem:Payment -- $400
* LineItem:Payment -- $200
I want to keep Payment info associated to Invoice by some kind of GroupID -- not just by ClientID: if I make 3
invoices ($500,$500,$500), and am paid 60% of the first, and %50 of the second, I should get:
* Inv. A to Client X - $500 charged, $300 paid.
* Inv. B to X - $500 charged, $250 paid.
* Inv. C to X - $500 charged, $0 paid.
NOT!!! the following:
* Inv. A to Client X - $500 charged, $500 paid.
* Inv. B to X - $500 charged, $50 paid.
* Inv. C to X - $500 charged, $0 paid.
The following Schema may or may not be completly wrong, but it's a starting point? If not good/flexible enough, please suggest at bid time an alternative structure that I may ensure that it will fit all my needs:
Transaction [GUID | TransactionCollectionGUID | Name | AmountTotal]
LineItem [GUID | TransactionGUID | Name | Amount | Account]
I would prefer that NO auto-increment columns are used: please use uniqueidentifier ([url removed, login to view]) for all table keys.
Please indicate if this will be a problem -- maybe we can relax this requirement if need be.
8) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
9) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
10) Exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
C#, Visual Studio 2000, ASP.NET, Windows 2000+