473,508 Members | 2,133 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

invoicing question

I have an app which includes invoicing, which is working fine.
I am wondering how best to deal with the situation where the amount paid is
different from the amount invoiced.
Would it be best to have a separate table or just an extra field in the table
that stores invoicenum, amountinvoiced.
Any thoughts ?
TIA
David B
Hexham UK

Nov 12 '05 #1
5 1700
"David B" <Da***@marleycotenospam.fsnet.co.uk> wrote in message
news:c1**********@newsg2.svr.pol.co.uk...
I have an app which includes invoicing, which is working fine.
I am wondering how best to deal with the situation where the amount paid is different from the amount invoiced.
Would it be best to have a separate table or just an extra field in the table that stores invoicenum, amountinvoiced.
Any thoughts ?
TIA
David B
Hexham UK

It could be even worse than that. You will probably need at least two extra
tables: tblPayments and tblPaymentAllocations. It is not uncommon to
receive an amount say £1,750.00 which is to cover two invoices, say £1,200
for INV10236 and £550 for INV10362. Now, if the customer sent a cheque for
£2,000 you would have one payment record, two invoice records and three
allocation records. The final allocation record would be £250 not against
any invoice - which is what I believe the accountants call a 'payment on
account'.

A huge help here might be to talk to an accountant / book-keeper and ask how
they record these sorts of details. Alternatively, see if you can get a
trial version of a standard accounting piece of software (perhaps Sage).
This will come complete with help files to show you how to operate the
software plus odbc drivers to allow you a sneaky peak at their table
structures - just for inspiration, of course.
Fletcher
Nov 12 '05 #2
and you probably need a write-off table
to handle invoices that never get paid, or invoices that never get
fully paid (ie dispute over prices, taxes, freight, etc)
this would be written off to a GL account

something like, but not restricted to

tblCashReceipt
cashReceiptId
customerId
bankId
paymentTypeId
paymentDate
paymentAmount
paymentReference (ie. cheque #, cc #)

tblCashReceiptDetail
cashReceiptId
invoiceId
discountTakenAmount
paymentAmount

tblWriteOff
writeOffId
glAccountId
glAmount
reason

tblOnAccount
onAccountId
cashReceiptId
onAccountAmount

tblCashReceipt.paymentAmount = sum(tblCashReceiptDetail.paymentAmount)
+
tblWriteoff.glAmount

amtDue = invoice.invoiceAmount -
sum(tblCashReceiptDetail.paymentAmount) -

sum(tblCashReceiptDetail.discountTakenAmount)
"Fletcher Arnold" <fl****@home.com> wrote in message news:<c1**********@titan.btinternet.com>...
"David B" <Da***@marleycotenospam.fsnet.co.uk> wrote in message
news:c1**********@newsg2.svr.pol.co.uk...
I have an app which includes invoicing, which is working fine.
I am wondering how best to deal with the situation where the amount paid

is
different from the amount invoiced.
Would it be best to have a separate table or just an extra field in the

table
that stores invoicenum, amountinvoiced.
Any thoughts ?
TIA
David B
Hexham UK

It could be even worse than that. You will probably need at least two extra
tables: tblPayments and tblPaymentAllocations. It is not uncommon to
receive an amount say £1,750.00 which is to cover two invoices, say £1,200
for INV10236 and £550 for INV10362. Now, if the customer sent a cheque for
£2,000 you would have one payment record, two invoice records and three
allocation records. The final allocation record would be £250 not against
any invoice - which is what I believe the accountants call a 'payment on
account'.

A huge help here might be to talk to an accountant / book-keeper and ask how
they record these sorts of details. Alternatively, see if you can get a
trial version of a standard accounting piece of software (perhaps Sage).
This will come complete with help files to show you how to operate the
software plus odbc drivers to allow you a sneaky peak at their table
structures - just for inspiration, of course.
Fletcher

Nov 12 '05 #3
"Roger" <le*********@natpro.com> wrote in message
news:8c**************************@posting.google.c om...
and you probably need a write-off table
to handle invoices that never get paid, or invoices that never get
fully paid (ie dispute over prices, taxes, freight, etc)
this would be written off to a GL account

something like, but not restricted to

tblCashReceipt
cashReceiptId
customerId
bankId
paymentTypeId
paymentDate
paymentAmount
paymentReference (ie. cheque #, cc #)

tblCashReceiptDetail
cashReceiptId
invoiceId
discountTakenAmount
paymentAmount

tblWriteOff
writeOffId
glAccountId
glAmount
reason

tblOnAccount
onAccountId
cashReceiptId
onAccountAmount

tblCashReceipt.paymentAmount = sum(tblCashReceiptDetail.paymentAmount)
+
tblWriteoff.glAmount

amtDue = invoice.invoiceAmount -
sum(tblCashReceiptDetail.paymentAmount) -

sum(tblCashReceiptDetail.discountTakenAmount)



I'll take your word for it and count myself lucky not to have the task of
creating a whole accounting package from scratch!

Fletcher
Nov 12 '05 #4
yes... a full feature accounting system is quite an undertaking...

do you have an accounting package of choice that you interface to your
applications ?

"Fletcher Arnold" <fl****@home.com> wrote in message news:<c1**********@titan.btinternet.com>...
"Roger" <le*********@natpro.com> wrote in message
news:8c**************************@posting.google.c om...
and you probably need a write-off table
to handle invoices that never get paid, or invoices that never get
fully paid (ie dispute over prices, taxes, freight, etc)
this would be written off to a GL account

something like, but not restricted to

tblCashReceipt
cashReceiptId
customerId
bankId
paymentTypeId
paymentDate
paymentAmount
paymentReference (ie. cheque #, cc #)

tblCashReceiptDetail
cashReceiptId
invoiceId
discountTakenAmount
paymentAmount

tblWriteOff
writeOffId
glAccountId
glAmount
reason

tblOnAccount
onAccountId
cashReceiptId
onAccountAmount

tblCashReceipt.paymentAmount = sum(tblCashReceiptDetail.paymentAmount)
+
tblWriteoff.glAmount

amtDue = invoice.invoiceAmount -
sum(tblCashReceiptDetail.paymentAmount) -

sum(tblCashReceiptDetail.discountTakenAmount)



I'll take your word for it and count myself lucky not to have the task of
creating a whole accounting package from scratch!

Fletcher

Nov 12 '05 #5
"Roger" <le*********@natpro.com> wrote in message
news:8c**************************@posting.google.c om...
yes... a full feature accounting system is quite an undertaking...

do you have an accounting package of choice that you interface to your
applications ?


No, I'll just do my best to work with what the customer has. My (UK)
experience has been with products from Sage ( http://www.sage.com ) and
Pegasus ( http://www.sage.com )

Fletcher
Nov 12 '05 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
4997
by: Stevey | last post by:
I have the following XML file... <?xml version="1.0"?> <animals> <animal> <name>Tiger</name> <questions> <question index="0">true</question> <question index="1">true</question> </questions>
7
2628
by: nospam | last post by:
Ok, 3rd or is it the 4th time I have asked this question on Partial Types, so, since it seems to me that Partial Types is still in the design or development stages at Microsoft, I am going to ask...
2
4746
by: William Roberts | last post by:
I am desiging an invoicing program that will do recurring billing as well as charging for any additional service at a given time. All charges will be service oriented. I am particularly concerned...
3
3058
by: Ekqvist Marko | last post by:
Hi, I have one Access database table including questions and answers. Now I need to give answer id automatically to questionID column. But I don't know how it is best (fastest) to do? table...
10
3389
by: glenn | last post by:
I am use to programming in php and the way session and post vars are past from fields on one page through to the post page automatically where I can get to their values easily to write to a...
10
3682
by: Rider | last post by:
Hi, simple(?) question about asp.net configuration.. I've installed ASP.NET 2.0 QuickStart Sample successfully. But, When I'm first start application the follow message shown. ========= Server...
0
1176
by: David B | last post by:
Back in Dec 03 I was working on an app which included invoicing. With some help from Allen Browne I got something that has worked with no probs. I modifyed the origional app last March to handle a...
2
1278
by: antheana | last post by:
Hi there, NeoPa and mccarthy have helped me with some table design advice previously, but I made a bit of a boo boo. It is with regards to invoicing for a job. tblJobs tblInvoices Now, I...
0
959
by: aa7im | last post by:
I need the source code for an accounting/invoicing/ledger application. Are there any C#/ASP.NET application out there that are either open source or for purchase that I can obtain and utilize for...
0
7124
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7498
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
5053
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4707
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3195
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3182
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1558
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
766
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
418
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.