Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "invoice"
-
Client: Hey, you're the IT guy right?
Me: Hey, how can I help?
Client: Yeah for some reason I've lost power to my computer
Me: *Checks power, all computers are down due to a power cut*
Me: You'll have to contact your power supplier as you've lost power to all computers and lights.
Client: What, but the computers are not working right? - that's you're job not mine
Me: That's not how it works.
Client: Fix this or I'll bill you for the loss of money we've encountered during this and report this to your boss.
Me: How about I bill you for my time and advice and inform by boss that you tried to blame me for a power cut.
Client: You can try.
Me: *walks off and puts time in the ticket, requests purchasing to send an invoice*
2 Days later:
The client does not pay the invoice.
Me: (phone call) Hi, an invoice has been sent to you and we haven't received payment yet.
Client: were not paying that, you broke our power and made our computers break
Me: null22 -
Client: Can you provide some kind of guaranteed timeline that you're going to be able to move our website to our new servers with the optimizations implemented? I know you said it should take a week, but we have 3 weeks to get this moved over and we cannot afford to be double billed. I'm waiting to fire up the new server until you can confirm.
Me: As I said, it SHOULD take about a week, but that's factoring in ONLY the modifications being made for optimization and a QA call to review the website. This does not account for your hosting provider needing to spin up a new server.
We also never offered to move your website over to said new server. I sent detailed instructions for your provider to move a copy of the entire website over and have it configured and ready to point your domain over to, in order to save time and money since your provider won't give us the access necessary to perform a server-to-server transfer. If you are implying that I need to move the website over myself, you will be billed for that migration, however long it takes.
Client: So you're telling me that we paid $950 for 10 hours of work and that DOESN'T include making the changes live?
Me: Why would you think that the 10 hours that we're logged for the process of optimizing your website include additional time that has not been measured? When you build out a custom product for a customer, do you eat the shipping charges to deliver it? That is a rhetorical question of course, because I know you charge for shipping as well. My point is that we charge for delivery just as you do, because it requires our time and manpower.
All of this could have been avoided, but you are the one that enforced the strict requirement that we cannot take the website down for even 1 hour during off-peak times to incorporate the changes we made on our testbed, so we're having to go through this circus in order to deliver the work we performed.
I'm not going to give you a guarantee of any kind because there are too many factors that are not within our control, and we're not going to trap ourselves so you have a scapegoat to throw under the bus if your boss looks to you for accountability. I will reiterate that we estimate it would take about a week to implement, test and run through a full QA together, as we have other clients within our queue and our time must be appropriately blocked out each day. However, the longer you take to pull the trigger on this new server, the longer it will take on my end to get the work scheduled within the queue.
Client: If we get double billed, we're taking that out of what we have remaining to pay you.
Me: On the subject of paying us, you signed a contract acknowledging that you would pay us the remaining 50% after you approved the changes, which you did last week, in order for us to deliver the project. Thank you for the reminder that your remaining balance has not yet been paid. I'll have our CFO resend the invoice for you to remit payment before we proceed any further.
---
I love it when clients give me shit. I just give it right back.6 -
Once a customer wanted to pay our invoice cash in a meeting. Then he came up with 14995€. As we asked where the 5€ are he could not remember immediately, but then he yelled: OH YEA I GOT HUNGRY ON THE WAY TO YOU.6
-
My previous employer still (contractually) owes me $5k. I still have push access to the repo and prod servers. Should I add a reminder to the admin dashboard? (After yet another email reminder, ofc.)
I could also mail him an invoice, since I have his addresses. Then again, it has been about a year since I was supposed to receive it, so maybe I'll just file a lawsuit. 🙄
Should @Root sue her ex-boss?37 -
I don't care if you're a friend, acquaintance, or we fucking knew each other in high school!
If I fucking agree to do some free work for you, feel fucking happy about it! Don't fucking ask for more work or demand work or give me fucking deadlines just because you know me!
I'm doing you a fucking favor! Do you want me to send you the fucking invoice? I don't care if you're on a budget, I agreed to help you out, but don't you dare fucking cross the line!12 -
So, here's how online payment works in my country:
1. The selling website creates a hidden <form> and populates it with product ID, price and etc.
2. Some Javascript posts the mentioned form to the bank from the browser.
3. User enters credit info, and submits. If all is right, the bank creates another hidden <form>, and populates is with status code and an invoice ID.
4. Said form is then posted back to the selling website.
I don't know how the programmers behind this scenario call themselves programmers if they don't know basic things about server-side only verifications, but thanks to them I've been buying a lot of products for free these past years. 😂😂
How? 1. Just install Requestly, Tampermonkey and enable Chrome's dev tools.
2. Change price to zero, and the bank's response code to success.
3. Profit!
P. S. I have notified the people behind this, but they don't listen and go fix their codes. Oh well, serves them right.13 -
Client: why hasnt anything been done for the new site?
Me: because you never paid for the last one thats been put into production
Client: yeah but that was a smaller simple site. I need this one up and done already
Me: it'll be worked on when I get paid for my previously worked time for you.
Client: but that was a month ago. I don't understand why you are asking for payment now
Me: because you never paid me for last months work!!
Client: but its may now
Me: holy shit, -clients name-, I know very well what month it is and dont need a lesson. I also know better than to work for free. I have bills to pay just like you and everyone else so until you have paid the last invoice, I'm not lifting a finger for you. That includes answering your calls
Client: oh well why didnt you just say that to begin with
Motherfucking fuck people are horrid and dumb and make me violent6 -
Me: Whats the deadline?
Client: Asap
Me: And when are we getting paid?
Client: 30 days after you give us the invoice ☺13 -
So today our CFO stepped into IT and angrily proclaimed someone using tech@ e-mail and fake name is defrauding company funds buying themselves... "used female lingerie with extra virgin juice" (sic!).
I work for an IPSP, we handle finance for commercial services (think PayPal but smaller). One of our clients is a big platform where girls can sell items like bath water, used socks and more. CFO demanded our admins found out who and when connected to that website, what URLs and so on.
As mentioned, said platform is pretty big, hence, from time to time we help them with their service when they ask us to, that's why we have a tech@ account. Last month there was a minor issue with one of the banks, someone fixed it and, as per usual, made a small payment of €1 topping up the account wallet to make sure everything works. It was an intern whose will to live is still strong and unencumbered with experience so she jokingly wrote "panties juice, extra virgin" in the payment note. What she *didn't know*, however, is that admins on that platform used the very same account to test new billing system they've implemented and our CFO received an invoice.9 -
New dashboard for my personal project (Invoice & Quotation system) built with asp.net core C#. Backend not connected yet.12
-
A few years ago I was in rage because I could not find the second page of my mobile provider invoice. So I called the support hotline to ask for the second page. Then he just asked: "Have you tried to flip the first page?" and I had to reply "oh, well...".1
-
I made a website for a guy, been keeping a casual eye on it and it's fine, if boring.
Then he calls in a panic to tell me it's been hacked, there is porn everywhere and funny underlined words and I must fix it right now!
So I drop what I'm doing and access the site and it's fine. I use a few different devices and even a couple of different networks and can't see a thing wrong with it.
Then I spent half an hour on the phone trying to convince him that his own shady surfing habits are causing this on his computer only.
I get the feeling he didn't believe me because he hasn't paid the latest invoice..11 -
5 minutes downtime: "I lost millions because of you"
$100 extra on invoice: "it's too much I don't make money"6 -
I'm going for longest rant. TL:DR; version here:
http://pastebin.com/0Bp4jX9y
then:
http://pastebin.com/FfUiTzsh
Twat Client,
As per our conversation, here is an invoice for the work you requested on behalf of U.S. Bloom. I realize that you ended up going with another designer, but you did request samples of what my take on the logo design would be. The following line item is indicative of 1 hour of graphic design consultation as per your request via Skype.
As I recall, you mentioned that this is not how Upwork "works" but considering it was you who requested that I converse with you via Skype instead of via the Upwork messenger, and since there were no clear instructions on how to proceed with Upwork after our initial consultation, It is assumed that you were foregoing Upwork altogether to work with me directly, thus the invoice from me directly for my time involved in the project. I would have reached out to you via Skype, but it seems that you may have severed our connection there.
After spending a little time researching your company, I could not find current information for Basic Media Marketing, but I was able to reach out to your former partner Not A. Twat, who was more than helpful and suggested that he would encourage you to pay for the services rendered.
It is discouraging that you asked for my help and I delivered, but when I ask for compensation in return for my skills, you refused to pay and have now taken your site offline and removed me as a contact from Skype.
{[CLIENT of CLIENT]},
I am sorry that I have bothered you with this email. I copied you on it merely for transparency's sake. I am sure that your logo is great and I am sure whatever decision was made is awesome for your decision. I just wanted to make sure that you weren't getting "samples" of other people's work passed off as original work by Twat Media Marketing.
I can't speak for any of the other candidates, but since Twat asked me to conduct work with him via Skype rather than through Upwork, and since he's pretty much a ghost online now, (Site Offline, LinkedIn Removed or Blocked, and now Skype blocked as well) one has to think this was a hit and run to either crowdsource your logo inexpensively or pass off other artist's work as his own. That may not be the case, but from my perspective all signs are pointing to that scenario.
Here is a transcript. Some of his messages have been redacted.
As you can clearly see, requests and edits to the logo were being made from Jon to me, but he thinks it's a joke when I ask about invoicing and tries to pass it off as an interview. Do you see any interview questions in there? There were no questions about how long I have been designing, what are my rates, who have I done work for in the past, or examples of my previous work. There were none because he didn't need them at this point.
He'd already seen my proposal and my Behance.net portfolio as well as my rates on Upwork.com. This was a cut to the chase request for my ideas for your logo. It was not just ideas, but mock designs with criticism and approval awaiting. Not only that, but I only asked for an hour of compensation. After looking at the timestamps on our conversation, you can clearly see that I spent at least 3 hours corresponding with Twat on this project. That's three hours of work I could have spent on an honest paying customer.
I trust that TWATCLIENT will do the right thing. I just wanted you guys to know that I was in it to do the best design I could for you. I didn't know I was in it to waste three hours of my life in an "interview" I wasn't aware I was participating in.
Reply from ClientClient:
Hello Sir,
This message is very confusing?
We do not owe your company any money and have never worked with you before.
Therefore, I am going to disregard that invoice.
Reply from TWATCLIENT's boss via phone:
I have two problems with this. One I don't think your business practices are ethical, especially calling MY client directly and sending them an invoice.
Two why didn't you call or email Jon before copying my client on the email invoice?
Me: Probably because he's purposely avoiding me and I had no way to find him. I only got his email address today and that was from a WHOIS lookup.
Really, you don't think my business practices are ethical? What about slavery? Is that ethical? Is it ethical to pass of my designs to your client for critique, but not pay me for doing them?
... I'LL HAVE TO CALL YOU BACK!
My email follow up:
http://pastebin.com/hMYPGtxV
I got paid. The power of CCing the right combination of people is greater than most things on Earth.14 -
Client ask for "quick fix". Done.
Client asks for the invoice. Freaks out. "WTF you are charging thousands of dollars for 15 minutes of work!"
Reply: "It took me 15 years to fix it for you in 15 mins!"
Picasso FTW!5 -
Fuck those clients which are surprised when they get an invoice when they ask you to do something for them.
I think it's as simple as:
- you know my hourly rate
- you ask me to do some work for you
- I give you an estimation
- you agree with the estimation
- I get the job done and show it to you
- you accept the edits/solutions
- I send you an invoice with less hours than estimated
- you agree with the invoice and pay
It seems that every step is going well, except the last one...
Well... fuck you too.13 -
A colleague of mine from the administration department suddenly enters my room where my team and me are all busy and, without considering I'm talking with someone else, interrupts us.
he: "I needed to call you but your phone is in do-not-disturb mode"
me: "that's because I'm busy working on something urgent and I don't want to be disturbed"
he: "but I need your help!"
me: "we're working on a urgent thing, but, anyway, what's the problem"
he: "I need help with digital invoicing"
me: "I deal with programming, I don't think I can help..."
he (interrupting): "I created a digital invoice but I need to send a printable version to a customer"
me: "digital invoices should be XML files so you can't simply take the file's content and paste into Word and print..."
he: "in fact that's what I did and the result was horrible"
me: "I was saying just that. I'm sure, anyway, there should be some online tool for producing a well-formatted PDF from a digital invoice"
he doesn't say anything
me: "you can try with a search on Google..."
he: "but I'm not an IT guy, that's not my business"
me: "this has nothing to do with programming, you simply need to find a tool online for doing this"
he (disappointed): "ok, but this is computer stuff, I'll try..."2 -
Around 45 days ago after years of burnout and abuse I finally quit my job when I finally realised that all the promises of greener pastures and reinforcements were nothing but tales of sugar candy mountain.
I had no idea where or what I wanted to work on or even have any leads for work but I knew if I kept recursively burning out soon there wouldn't be anything left of me to give.
Flashforward 45 days and I am the proud owner of Sane software solutions which I am currently the only full time employee of.
My old company has become my customer since no one else knows the legacy system, 11 days after quitting their invoice exceeded my previous salary with a quarter of the work and I just landed an awesome contract with some engineers I feel privileged to listen to working on some neat IOT stuff, I've quadrupled my income and now work an 8 hour day.
Don't be despondent, there are better things in life to bleed for than another mother fuckers ambitions ✌4 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.6 -
This might actually be my first real rant.
Whatever fucking cockgoblin decided that making dynamics GP so fucking confusing needs to suck a big bag of dicks. I'm so fucking tired of having to google every damned table name and column name because nothing makes any motherfucking sense.
Am I supposed to instinctively know what PM20201 does? What data it holds? I don't mind reading documentation. But it's hard to even know where to start when the shitbird API and database are more complicated than calculating orbital fucking decay.
I am done. Fuck you gp. Fuck you and your nonsense. I guess our sales people don't get to know when an invoice was paid.8 -
When you are a dev/designer and you see an invoice with £225 for making a favicon with an existing logo, you know where most Web Agencies stand.8
-
Client (on Tuesday): I was X features on my website before the weekend!
Me: Sure thing, I can do that. Just a reminder, my rates are $Y/hr and the changes won’t go up until I’ve been paid in full.
(Thursday morning)
Me: Here’s the changes you’ve requested on the test environment, please review. Also here’s the invoice for my work, as soon as that’s paid I can upload the changes.
Annnnnddd silence since then... I’m glad that I don’t have to count on just one client’s payment, but if you wanted before the weekend and I have it all set up, please don’t ghost me.2 -
Email to Client: "Thank you for the payment. Attached is your invoice. Would you mind providing a review? :)"
Client 1: "is very very good"
Client 2: "A+"
Client 3: "Awesome"
Client 4: "Good job"
Client 5: "good."4 -
User: I need you to extract all the invoice data for us.
Me: What invoice data in particular, what are filters you require. This is a massive database with millions of transactions.
User: JUST EXTRACT THE TABLE!
Me: Right.....(this is a database with 3000+ tables and hundreds of joins)7 -
Whatever you do, don't do this.
- a sleep for 300s to avoid full 24 hour rollover (lol)
- sleep 1d instead of cron; so at random times emails will be sent out or they won't at all
- this is a laravel project, there's a thing called task scheduling: https://laravel.com/docs/5.8/...
Git blame: https://github.com/invoiceninja/...
The actual core project docs at least tell you to setup a cron, though not via * * * * * nor task scheduling, which isn't as much of an issue though as their dogshit docker compose: https://invoice-ninja.readthedocs.io/...6 -
I have one! Once upon a time (about a year ago) my mom went online shopping on her own. Her husband was out of town and so she had no assistance. At about 10.30 pm she called me, freaking the fuck out that she entered her credit card details on a sketchy site and they charged her for more than she ordered. She was in hysterics, didn't know what to do. Superwoman to the rescue, I tell her to go and deactivate her card and jump on a train back home (she was crying on the phone she was so scared, couldn't just leave it until morning) fast forward an hour, I'm in my hometown, she picks me up and we head home to check out the situation, and... She had just received the email invoice twice. They hadn't charged her twice, just some email mishap made the email appear twice and she never thought to check her bank account before summoning me home 🙄😂 we laughed for a while and I got a home cooked meal so it's all good but Jesus christ mom. What would you honestly do without dad?1
-
We made a simple SMS application - when there is alert in a building, SMS is sent to specific range of numbers, based on the alert type. After a month we received invoice of approx. 10K € from the client, my colleague was supposed to pay
.
.
.
.
.
.
.
.
.
.
.
After checking the logs and running tests on module, we found out it was not our fault, client then told us he played with SIM-card while module was sending SMS and somehow he managed to fu*k up. I still don't get it, partially.. Mobile service provider doesn't give a sh!t about sending tons of SMS/hour? No warning, nothing..
Ahh.. Clients, right?7 -
Oh my God...
A colleague of mine got an email. The email was badly translated into our language (probably Google translate was used) it said 'please open invoice attached'.
The anti-virus software successfully marked it as a virus, and did not allow my colleague to open attached 'invoice.exe' file.
Now by this point you would think that the person would just delete the email, but no. The colleague looked at me, and with the bitchiest voice said 'I got an invoice and can't open it after your anti-virus installation. Fix it!'
Needless to say, I had to explain, what a virus is and teach all the colleagues not to get hooked on scam mail... Took about 4 hours to explain this seemingly simple concept.
Fuck knows, how they did not nuke their IT infrastructure before I came here :/11 -
!dev
And again...
Our ISP doesn’t say it blocks any port on our Business Fixed IP. Currently I’m trying to access port 25 for SMTP. Guess what? Indeed port blocked. Called them “The port is open”, I visit a port checked, the same thing “Port Closed”
Always the fucking same thing. Every fcking time. These are just criminals. Lastly I removed their router, that they mentions was the only working router in our house and our signal from the other router, not provided by them was much better. They blocked the hotspots because we removed the router then. Guess what? On their site is an option Enable Hotspot on your home router (this enables your access to hotspots). Just pressed it. Haaa they can’t acces my router to set that up and it works.
In our second home, we have another ISP, Proximus, first they did difficult to come and install everything. Because in the appartment the previous owners didn’t pay the bills. After a week or so someone came to install it. Because they cut the cables couldn’t do it myself. Ok it worked for some time. After 3-4 months by once I can’t access the camera there, strange. My uncle went there and there was no internet. Neither TV. But we never received any invoice. Because they didn’t send them. We contacted them, no response. My father sends them an email, with politic people in copy and by once they called to say they will turn it back and scrap the invoices that were not send. They said no technician needed to come, as it’s second home. Guess what, next day a message came “We will arrive in less than an hour”
My uncle went. They did nothing, only restart the modem.
There still was no internet after two days after they came. We called back, response was: “There wasn’t anyone.” Yeah right, we have proof of a technicial that passed (Local Video). By once the internet worked.
Now 4 months later, still didn’t receive any invoice, neither via post or email.
Fuck those criminals, called ISPs20 -
So yeah, we released our app for 26k people to use two days ago. Due to circumstances not under our control, that was developed way faster than it should've. Today we're two days in and everything is going horrible. 26 thousand people are having trouble using it (not every problem is our fault, but ofc they don't give a shit) and our support team is not big enough to handle every request. We're not able to find any more people to help us handle it, so some developers are being used for support. But that slows the bugfixes a lot. We're at risk of losing our jobs because we will not be able to make it work in due time.
In Italy, at the beginning of the year a particular type of invoice became necessary and to handle that everyone needs a particular kind of email called "certified", you know, because Italy, and today our certified email server went offline for the whole fucking day because the provider was an overload of feces. We were overwhelmed by the amount of people that needed help.
I don't even know what to say, if we don't fix it we're fucking fucked, like literally.
I really hope everyone is having a nice new year. For us, this is going terrible.2 -
I asked my friend to design a flyer for an organization's annual dinner, asking her to send me an invoice so I could pay her (I can't design worth shit, she's doing me a huge favor).
She said she'll do it, declined payment, and doesn't even want me to get approval for her to put it in her portfolio...
How the hell do I pay her back for her work? If we lived in the same town, I'd at least take her to coffee and lunch, but she moved states and I moved countries :(8 -
Did a freelancing project... Hosted the project and gave the client credentials with the invoice. She changed the password and there is that6
-
Landlord sends me an invoice through GitHub.
Landlord: I've pushed this year's rent.
Me: Okay, successfully pulled.
Landlord:1 -
Spends a summer building a neat webapp for the father who subsequently receive an invoice of $2 for the s3 bucket. Father exclaims "what is this!?" Then proceeds to block the account. Love you Dad.
-
Working for this startup as a remote dev for last 6 months.
This month they delayed my payment by saying that they are still waiting for crowdfunding payment to be processed.
After 3 days my teamlead who recruited me quitted with 2 more people saying that its 'personal issues'
1 week later (today) I received a letter of termination saying that my contract ceases its effect after 30 days and I will receive my payment after 45 days as all service providers.
I reminded those fuckers that in contract there is a clause saying that they are supposed to pay me within 24 hours of invoice receipt (because this is not my first time with startups). Then fuckers responded that I will get paid as soon as they receive the money.
Contacted CTO today and he told me the truth. Turns out that venture capital that supposedly raised funding of around 10 million usd last year actually didnt raise shit. In the end startup did not receive this funding because VC convinced investors that this project is shit and not worth investing.
VC's plan is to starve out the startup by giving it bridge payment injections. At some point they want to buy out the startup and resell it for profit.
And here I am fucked in the ass. But for some reason im not mad at that VC because shit happens. Im mad ar startup managers who kept us in the dark for 2 weeks and dropped us like shit :)
I am really tired of broke startups and their bullshittery.5 -
Client: Each invoice should be it's entity. It should only report it's own open amount. Any other open amounts remain on the other invoices.
Me: No problem. ::Sets invoices to only report own open amount::
PM: Hey, the invoices in UAT are not displaying the sum of all open bills.
Me: I know. The client wants each invoice to only report the open amount on that specific invoice.
PM: That can't be right, change it back before we give the client access to the UAT environment.
Me: No problem. ::reverts invoice changes::
Client: We are failing the invoices. The invoices should not be giving total open amounts for the account. Each invoice should only report the open amount for that invoice. We told the development about this...
PM: I see. I'll make sure he understands your request.
Me: ... ::reverts the revert::
PM: Hey, the invoices in UAT aren't giving a total of the open-
Me: OMFG. I just want this task closed!
Client: After the invoice work is done, we need to talk about past due amounts and how they are reported to customers.
PM: Sure thing. It is logical to give a total of a past due amount to the customer...
Me: ::Starts updating resume:: -
Just another big rant story full of WTFs and completely true.
The company I work for atm is like the landlord for a big german city. We build houses and flats and rent them to normal people, just that we want to be very cheap and most nearly all our tenants are jobless.
So the company hired a lot of software-dev-companies to manage everything.
The company I want to talk about is "ABI...", a 40-man big software company. ABI sold us different software, e.g. a datawarehouse for our ERP System they "invented" for 300K or the software we talk about today: a document management system. It has workflows, a 100 year-save archive system, a history feature etc.
The software itself, called ELO (you can google it if you want) is a component based software in which every company that is a "partner" can develop things into, like ABI did for our company.
Since 2013 we pay ABI 150€ / hour (most of the time it feels like 300€ / hour, because if you want something done from a dev from ABI you first have to talk to the project manager of him and of course pay him too). They did thousand of hours in all that years for my company.
In 2017 they started to talk about a module in ELO called Invoice-Module. With that you can manage all your paper invoices digital, like scan that piece of paper, then OCR it, then fill formular data, add data and at the end you can send it to the ERP system automatically and we can pay the invoice automatically. "Digitization" is the key word.
After 1.5 years of project planning and a 3 month test phase, we talked to them and decided to go live at 01.01.2019. We are talking about already ~ 200 hours planning and work just from ABI for this (do the math. No. Please dont...).
I joined my actual company in October 2018 and I should "just overview" the project a bit, I mean, hey, they planned it since 1.5 years - how bad can it be, right?
In the first week of 2019 we found 25 bugs and users reporting around 50 feature requests, around 30 of them of such high need that they can't do their daily work with the invoices like they did before without ELO.
In the first three weeks of 2019 we where around 70 bugs deep, 20 of them fixed, with nearly 70 feature requests, 5 done. Around 10 bugs where so high, that the complete system would not work any more if they dont get fixed.
Want examples?
- Delete a Invoice (right click -> delete, no super deep hiding menu), and the server crashed until someone restarts it.
- missing dropdown of tax rate, everything was 19% (in germany 99,9% of all invoices are 19%, 7% or 0%).
But the biggest thing was, that the complete webservice send to ERP wasn't even finished in the code.
So that means we had around 600 invoices to pay with nearly 300.000€ of cash in the first 3 weeks and we couldn't even pay 1 cent - as a urban company!
Shortly after receiving and starting to discussing this high prio request with ABI the project manager of my assigned dev told me he will be gone the next day. He is getting married. And honeymoon. 1 Week. So: Wish him luck, when will his replacement here?
Deep breath.
Deep breath.
There was no replacement. They just had 1 developer. As a 40-people-software-house they had exactly one developer which knows ELO, which they sold to A LOT of companies.
He came back, 1 week gone, we asked for a meeting, they told us "oh, he is now in other ELO projects planned, we can offer you time from him in 4 weeks earliest".
To cut a long story short (it's to late for that, right?) we fought around 3 month with ABI to even rescue this project in any thinkable way. The solution mid February was, that I (software dev) would visit crash courses in ELO to be the second developer ABI didnt had, even without working for ABI....
Now its may and we decided to cut strings with ABI in ELO and switch to a new company who knows ELO. There where around 10 meetings on CEO-level to make this a "good" cut and not a bad cut, because we can't afford to scare them (think about the 300K tool they sold us...).
01.06.2019 we should start with the new company. 2 days before I found out, by accident, that there was a password on the project file on the server for one of the ELO services. I called my boss and my CEO. No one knows anything about it. I found out, that ABI sneaked into this folder, while working on another thing a week ago, and set this password to lock us out. OF OUR OWN FCKING FILE.
Without this password we are not able to fix any bug, develop any feature or even change an image within ELO, regardless, that we paid thausend of hours for that.
When we asked ABI about this, his CEO told us, it is "their property" and they will not remove it.
When I asked my CEO about it, they told me to do nothing, we can't scare them, we need them for the 300K tool.
No punt.
No finish.
Just the project file with a password still there today6 -
I email our CFO in January about an overcharge I noticed on an invoice, something we've been paying $120 a month for, not using, and never used the service. I suggested we contact the vendor and request the charge be removed and try for a credit.
Fast forward 2 months, vendor emails me to let me know that the service is being cancelled and they wanted to give me a heads up that I'll need to find another provider. I decide to go ahead and email back telling them that we haven't ever used the service and we shouldn't be paying for it. After 30 minutes on the phone I got the charge removed and got our account credited for the last 12 months.
Now to figure out how to word it to the boss without making it seem like I'm trying to throw the CFO under the bus for not doing his job.1 -
Friend asked to create a small website. I didnt ask for an upfront pay because I trusted him. Finished the website and sent him an invoice.
We're now strangers.
He didn't pay6 -
Overheard a dev bragging about how our site is fully PCI compliant. So much so even the invoice data is secure. My BS meter went off, so I decided to look at what 'secure' code looked like.5
-
What was your most ridiculous story related to IT?
Mine was when I was quite small (11yo) and wanted a graphics card (the epoch of ATI Radeon 9800), looked at the invoice to know what kind of ports I had in the pc (did not open it), then proceeded to brat to my dad to get me a new GPU
So we where in Paris, we went to a shop, vendor asked me "PCI or AGP?" and said AGP.
Paris > London > Isle of Skye roadtrip followed, then as my dad brought me back home in Switzerland, we opened my pc...
And we couldn't fit the GPU in the basic old PCI port. My Dad was pissed. He frustratedly tried fitting the GPU in the PCI slot, but nope. (He's a software engineer though)
At least the GPU had 256 mb of ram :D
Gave it to my brother 6 months later at family gathering
To this day, my Dad still thinks I cannot handle hardware, although I have successfully built 10+ pc, and still cringes with a laughing smile when I talk to him about it haha
Ah well.1 -
I think I might change my middle name to "I told you so"
Couple of weeks ago I proposed integrating a daily process job into an existing WPF application (details of what+why would be too long to explain) and the manager suggested I make the changes
Me: "I can do it, but Jay has the most experience with that application. I don't have his WPF skills"
Mgr: "How hard can WPF be? If it uses the MVVM pattern, it should be a snap."
Me: "Its nearly an 8 year old WPF project with several chefs in that kitchen. I pretty sure I could figure it out, but that is a difference between 2 weeks and 2 days. Integration is pretty straight forward, Jay could probably do it in a day."
DevA: "WPF is easy. MVVM makes it even easier. I worked on the shipping app."
Me: "That's was a brand new, single page app, but yea, it should be easy."
DevB: "WPF has been around a long time and the tools have really matured. I don't understand what is so difficult."
Me: "I didn't say anything would be difficult, I know with that application, there is going to be complexity we need to figure out."
DevB: "It uses the MVVM, so all we need is the user control, a view model, controller, and its done."
DevA: "Sounds easy to me."
Mgr: "If you need more time to work on the vendor project, I'll have DevB work on the integration."
<yesterday>
Me: "How is the integration going?"
DevB: "This app is a mess. I have no idea how they got the control collections to work. If I hard-code everything, I can get it to work. This dynamic stuff is so confusing. Then there is the styling. Its uses dark mode, but no matter what I do, my controls show up in light mode."
Me: "The app uses Prism, so the control configuration is in, or around, the startup code."
DevB: "That makes sense. Will it fix the styling too?"
Me: "I have no idea. When I looked at it, some controls loaded the styles from the main resource, other's have it hard-coded. Different chefs in the kitchen, I guess. How far have you got?"
DevB: "I've created invoice button. That is as far as I got"
Me: "I'm finished with the vendor project and I'll be wrapping up the documentation today. I can try to help next week."
DevB: "Thanks. I think we might have to get Jay to help if we can't figure this out."
Me: "Good idea"
Two weeks and only a button. A button? I miss Delphi.3 -
#10
After I did some work on this nightmare codebase, the client kept switching goals. He Changed the task a few times, so I always told him that he will have to pay for all changes.
After a time he requested another change, so I stated that he has to pay the first invoice I sent him first. He started bitching around, that I didn't complete the work yet and so on. I saw where this was going. He didn't wanted to pay me, so I cancelled the work for this bitch.
😤
Read my revenge in #113 -
Before I start a project,i Invoice first,50% down payment I am very clear about my story.take it or leave it..I am not an NGO3
-
Regus sent me to collections.
Jist: if you ever think about renting an office from Regus, for the love of your bank account and your credit, just don't. Go into the kitchen and pan-fry your face instead. it'll be better.
Moral: get it in writing. What is "it"? Fucking everything.
------
I needed someplace quiet away from my children to work, so I rented an office from Regus. They said they had a minimum 6-month contract, which is fine, but at the time I was pretty sure I would be moving within three to five. They said they understood and offered the quivalent of a month-to-month plan: I could cancel my contract whenever I wanted, given a few weeks' notice, and that would be that. It wasn't in writing, but both the accounts person and the regional manager were there offering it to me, and they seemed cool. Awesome! I agreed, signed the contract, and paid a hefty damage deposit.
Long story short, I ended up hating the office, and chose to bear the distractions at home instead. Seeing how much I disliked it, the accounts person I talked to originally called me and offered to cancel my contract. I agreed, and she walked me through the steps to cancel it and request my deposit back. Done. I aske her if that was it; no more payments, no more contract. "No more," she said. "You're done." I liked the sound of that. Done and done.
The next day, I check my bank account; no deposit.
Two weeks later, still no deposit.
A month later, still no deposit.
They did say it could take up to three fucking months or something, so whatever. I waited.
Another month later, and instead of my refunded deposit, I get an overdue invoice notice? Seriously?
Apparently they never cancelled my contract, don't remember offering me the month-to-month agreement, nor does the very chick I talked to remember telling me over the phone that everything was paid up and done. Apparently my contract wasn't even for six months like they originally promised, but indefinite? despite all of this? and despite the two of us fucking cancelling it? together?
But no, the legal agreement is binding and explicitly states that they are fucking assholes and due their pound of cash.
So fuck that and fuck them.
And in response, they sent me to collections.
Huge fucking surprise.
and now collections is calling me saying I owe $1900, which works out to a lot more than the couple months it's been since I cancelled that crap, AND.
AND IT'S LESS THAN THE FUCKING DEPOSIT REGUS NEVER RETURNED!
SO NOT ONLY DID THEY NEVER CANCEL MY CONTRACT, THEY CHANGED ITS TERMS (or lied up-front) AND DECIDED TO POCKET THE DEPOSIT INSTEAD OF APPLY IT TO MY FUCKING IMAGINARY BALANCE!
FUCK YOU SHADY MOTHERFUCKERS!10 -
Dear Client: Thank you for asking me to fix a problem and then condescendingly informing me _after_ an hour of _me_ working on it that _you_ actually had a working solution shortly after you asked me to work on it. That'll be $75 added to this month's invoice.2
-
That feeling when the client calls you to add a feature you added and gave them a course in last year and you're unsure as to send a new invoice because they forgot...
-
Our invoice report crushed because someone paste an invalid character which devExpress couldn’t handle.
I told boss we should trim and run regexp test for all string input.
Got rejected.
Why?!?!?!🧟♀️🧟♂️🧟♀️ 🧟♂️3 -
Wondering why I haven't received deposit for new job yet. Check for signed quote and contract... Yep, both there. Look I account program to see when I sent invoice.....
I haven't sent it yet!
I'm a dick!1 -
Update from mg previous rant.
The person who was supposed to set up the home internet arrived before the time frame forced upon us, they gave him the wrong number to call and he apparently waited a whole hour ringing at the door (which I call bullshit, because I was waiting on the couch close to the door in advance.)
Time to inform myself if I can legally send them an invoice for the lost work hours1 -
Me: Hey I just sent the Bi-Weekly invoice.
Client: Can I pay it when this new feature is rolled out?
*Face Palm*
It isn't a Bi-Feature invoice, it's a Bi-Weekly invoice. -
Some prankster on upwork is trying to swindle me out of paying me because they didn't "hire" me through upwork even though he asked me to send an "example" of my rendition of what I would do for their logo. Once they told me they went with someone else even after performing the requested "example," I promptly asked who to invoice. "They're going to go talk to the boss and see what they can work out."1
-
How to get the rest of the content you need to finish a freelance website...
Invoice them. They'll respond faster than a cat can lick its own ass with its tongue already on the hole.1 -
The billing system on an enterprise project that I've inherited is a nightmare. The client complained that an aged receivable was being reported as 31-60 days overdue when it should be 0-30 days overdue. I checked the system, and discovered that an account had multiple invoices. One was due in May and one was due in July. The system took a large payment, fully paid the invoice due in July, and partially paid the invoice due in May. That seems wrong.
I checked the code and confirmed my suspicion. The system is ordering open invoices by their creation date, not their due date. The invoice due in May was created after the first invoice, but had a much smaller window to pay. I'll bet anything the original coder assumed all invoices would have the same window to pay. -
Strato. Everything about it. Even leaving as a customer is a pain in the ass.
I want to pay my last invoice (thank god, the only vps hosting ever that is yearly. Bastards) and i forgot my password.
Resetting the password is your customer number (asked everywhere for everything) and your e-mail address.
The thing says 'Het ingevoerde e-mailadres hoort niet bij het klantnummer.' which is dutch for 'Your e-mailaddress is not connected to the customer number'.
Sigh. That fucking customer number. For servers they let you login using the ORDER NUMBER. It's so weird there.
Strato: not even once7 -
Worst architecture I've seen?
The worst (working here) follow the academic pattern of trying to be perfect when the only measure of 'perfect' should be the user saying "Thank you" or one that no one knows about (the 'it just works' architectural pattern).
A senior developer with a masters degree in software engineering developed a class/object architecture for representing an Invoice in our system. Took almost 3 months to come up with ..
- Contained over 50 interfaces (IInvoice, IOrder, IProduct, etc. mostly just data bags)
- Abstract classes that implemented the interfaces
- Concrete classes that injected behavior via the abstract classes (constructors, Copy methods, converter functions, etc)
- Various data access (SQL server/WCF services) factories
During code reviews I kept saying this design was too complex and too brittle for the changes everyone knew were coming. The web team that would ultimately be using the framework had, at best, vague requirements. Because he had a masters degree, he knew best.
He was proud of nearly perfect academic design (almost 100% test code coverage, very nice class diagrams, lines and boxes, auto-generated documentation, etc), until the DBAs changed table relationships (1:1 turned into 1:M and M:M), field names, etc, and users changed business requirements (ex. concept of an invoice fee changed the total amount due calculation, which broke nearly everything).
That change caused a ripple affect that resulted in a major delay in the web site feature release.
By the time the developer fixed all the issues, the web team wrote their framework and hit the database directly (Dapper+simple DTOs) and his library was never used.1 -
I took a job with a software company to manage their product, which was a SaaS property maintenance system for real estate, social housing, etc.
There was no charge to real estate agents to use it but maintenance contractors had to use credits to take a job, which they pre-purchased. They recharged their credit costs back to the real estate agent on their invoice).
Whether this pricing model is good or not, that's what it was. So, in I came, and one of the first things management wanted me to deal with was a long-standing problem where nobody in the company ever considered a contractor's credits could go into the negative. That is, they bought some credits once, then kept taking jobs (and getting the real estate agent to pay for the credits), and went into negative credits, never paying another cent to this software company.
So, I worked with product and sales and finance and the developers to create a series of stories to help get contractors' back into positive credits with some incentives, and most certainly preventing anyone getting negative again.
The code was all tested, all was good, and this was the whole sprint. We released it ...
... and then suddenly real estate agents were complaining reminders to inspect properties were being missed and all sorts of other date-related events were screwed up.
I couldn't understand how this happened. I spoke with the software manager and he said he added a couple of other pieces of code into the release.
In particular, the year prior someone complained a date on a report was too squished and suggested a two-digit year be used. Some atrocious software developer worked on it who, quite seriously, didn't simply change the formatting of that one report. No, he modified the code everywhere to literally store two-digit years in the database. This code sat unreleased for a year and then .... for no perceivable reason, the moron software manager decided he'd throw it into this sprint without telling me or anybody else, or without it being tested.
I told him to rollback but he said he'd already had developers fixing the problems as they came up. He seemed to be confident they'd sort it out soon.
Yet, as the day went on more and more issues arose. I spoke to him with the rest of the management team and said we need to revert the code but he said they couldn't because they hadn't been making pull requests that were exclusive to specific tickets but instead contained lots of work all in one. He didn't think they could detangle it and said the only way to fix was "play whack-a-mole" when issues came up.
I only stayed in that company for three months; there was simply way too much shit to fix and to this day I still have no idea the reasoning that went on in the head of anyone involved with that piece of code.2 -
I started applying for jobs. As I have over 150 repos on GitHub and 10 years of relevant work experience, the company obviously had trouble validating if I had some basic coding skills. That's why they decided to send me a coding "homework" task to build an app in React Native.
Basically, the task was building an app with 2 screens and one bonus where they indicated "doesn't need a UI". I spent half a day spinning up their project, installing XCode, their specific versions of Ruby, and around half a day building the thing.
Obviously, I wanted to demonstrate my technical skills, so I added a few tests, proper typing, comments, and so on. The project was in a good state, and on the "bonus" screen I quickly added a few components. Since I have a lot of things going on, I capped the amount of time to one day of work. I felt it was good enough to demonstrate I can build something like this.
A few days later, I received a response from the recruiter telling me they wouldn't move forward. She in depth explained that this was because of a missing key property. I did indeed miss one key property on the "bonus" screen, in the part that was not even part of the core task. This was a list of very few static elements, and the entire list only got rerendered when changing routes. Basically in this case, there would not be any visible performance impact.
The recruiter explained in the email that I was missing the eye for detail they need, and that I should "educate" myself more about lists in React. I made one tiny silly mistake in a one-day project, that a linter would've taken out (if this project had one). I've contributed to React Native myself and worked with React for almost 7 years now? Yeah, it's a stupid thing, but what is the point of these types of tasks? I thought this was to demonstrate my skillset, not to be called out on.
Either way, my question here is this: at which point does it become appropriate to send an invoice for the time I wasted on this?6 -
At my previous job I was working with cliets as a support for our application. One client had problem printing invoice so they caled. Was web application so invoice was first converted to PDF then you would print it.
I ask client if they have Abobe Reader installed. Her response was some thing like that: " I don't know what are you saying. Its is like you are talking chines."
I asked for remote access, fix problem.
Still don't know how they managed to use application. -
Just got the first invoice from my new flat. Who the hell writes invoices in comic sans and why? Well, I know who now. But why? So it wouldn't look so serious? But there is only few things that are more serious than invoice! Invitation to funeral im comic sans will look even weirder, but still...6
-
TLDR; College group projects suck, not because the work, but the people in your group will make or break you. Fuck having 1 week to do this assignment.
Sometimes working with other students on group projects is great, they actually know how to create a merge a git branch. I've had a decent partner once during my 3 years at university so far. This last project takes the cake on idiots I've worked with...so far at least... It was me and two others, we'll call them Thing1 and Thing2 for now. Anyway so the 3 of us had a week to implement a very rudimentary Invoice system; fine, easy enough. We divided up the work and 'started'.
All seemed to be going well, no complaints or cries for help all week. Until 4 hours before we submit the assignment; Thing 1 sends me a DM saying all of Thing 1's work is useless full of bugs and just shouldn't be integrated with the rest of the code. Umm fine? I guess? wtf?! why did this have to come out last minute?! We could have explained to Thing 1 what's going on and gotten him/her up to speed on everything. Believe it or not, I was sorta ok with this? I mean thing 1 hadn't pushed anything to the repo yet. I mean literally nada, Thing 1 is a collaborator on the repo that has contributed nothing. Seeing as how Thing 1 was contributing nothing I had already started to cover our ass a began Thing 1's work.
That's not even what's pissed me off... at least thing 1 had the gall to message me to say "idk..wtf is going on...continue without me". Thing 2 arguably made my time with the project worse. His code was nothing but garbage...every time...literally spent more time deciphering his incoherent bullshit more than I did rewriting his mess. I shit you not he wrote out this method, and tells the group he's "finally got it fixed and working":
public static float updateTotal(float newValue)
{
total = updateTotal(newValue);
return total;
}
How tf did he test this to see if its working?! I'm a novice and can already see the infinite loop here. You called your method within that method's own definition, what did you expect to happen.
I managed to get things 75% working and turned in 5 mins before the cut off.
Thankfully Thing 1 emailed the Proff as well, hopefully he won't tank my grade too bad. I'm so glad to be done with this assignment, fingers crossed there's no more group work.4 -
Client: Why was the payment applied to the May invoice?
Me: Because that is the only open bill.
Client: We want to apply it to the July invoice.
Me: What business rules exist to hold an invoice open in order for the payment to be applied to a future invoice?
Client: ...can you manually correct this?
Facepalm.4 -
Can't wait until I'm done at my current workplace (about a month left). I've had enough of this fucking shitty ass ancient ASP.Net ERP-system and employer.
For the system:
1. The build times are horrendous and eats up all CPU power.
2. The "classic" UI and UX is absolute garbage. If I was an accountant, I would go nuts trying to invoice someone. Companies pay millions to use this garbage.
3. Besides the "classic UI", there is a mishmash of different JS frameworks plastered on top.
4. Absolute no fucking technical documentation whatsoever
5. The in-house relational database is a mess, no relations, entirely denormalized, no documentation.
6. The frontend is structured in HTML tables with iframes inside <td>
The company:
1. If you're a implementation consultant and you quit your job, you get stripped off all your projects, you won't get to join anything social and you're placed on 1st line support for three months. They might as well force them out.
2. Anyone can work from home anytime they feel like it without any valid reasons, and believe me they do.
3. The senior devs are overworked as all hell. By the end of the year, some of them have hundreds of flextime hours and won't get anything in return.
4. The CEO seems like a jolly guy, but when you quit, he doesn't like you at all. He also acts like a bigshot, always getting driven around meetings when there is literally a very good metro network in this city.9 -
Huge mistake on a customer billing procedure.
That procedure was generating a file for automatic billing requests from our customer bank to his customers banks.
That procedure was shifting the bank coordinates by one byte right making all payment requests invalid and rejected.
That month the customer got nothing from invoices (more or less 80k euros).
Side note; only one payment was accepted because the guy entering the invoice on the system shifted the bank coordinates by mistake, so the procedure fixed it.
:/ -
Fun fact. I work for a 20-year old company that does software which mostly does print outputs. 95% of our clients actually use it specifically and exclusively to print their invoice runs. There are over 25 printers in this office, 5 of which are within chair-rolling distance of my desk.
I don't know how to use or fix any of them. I must be a *really bad* developer. >.<3 -
My biggest dev epiphany was also my dumbest one. We were working on a payment system for a roadside rescue company where an employee would register payments "in the field".
The challenge was automating input with typeahead and autocompletes in order to lessen the workload as manual input had to be an absolute minimum; this will be used by truck drivers/mechanics as they are trying to hurry to the next customer who has been waiting for 3 hours longer than we said we'd take.
We managed to make the invoice path first (customer has not paid, employee logs personalia needed for billing), but when it came to "paid on site" we almost upended the entire system trying to find a way to fetch user personalia outside of the invoice path.
Neither of us realized it during the days we were banging our heads against it. Realizing we don't need to make an invoice for a job that has been paid for was equal parts relief and utter embarrassment.
Probably my greatest lesson in how important it is to pull my head out of the code once in a while, and to ask myself what I'm trying to do and why. -
Client decided today that they want to remove a core feature from their search engine that will not only change the app's functionality but the UI it was based around.
I told they client they can't do that. When they asked why I explained that the app has already been built from the designs that were approved two months ago and to switch it now would be a whole other invoice billed per hour.
Needless to say we are not removing this core feature.
*Finger gun to head. Blam! -
Marketing department sometimes are so Fucking annoying in the context of they " just found out certain technology" and try to enforce us to implement.
For example recently this guys just found out firebase(Firestore thingy ) and keep asking us to implement into the app (E wallet app) which our software architect refuse to use firebase( I agree with him) because in the long run , the project will definitely get surprising prices in the invoice.
Also, our DBA had started to implement Apache Cassandra .....
So dear marketing department, why don't you guys shut up and let us do our job and let our software architect do his job? Fuck off!14 -
I just had the most embarrassing moment in programming... I am writing an administration / client / invoice webapp and I was testing an export function that worked locally, because everything that was being exported was inside the folder.
So I exported the files in test production, but some invoices didn't exist. So when they don't exist, the system creates a new invoice.
Because I was running on the test production (with client data) the system emailed the created invoices to the clients.. now I have to contact some clients and tell them the invoices were sent accidentally.2 -
How to pass yourself off as a Web Developer.
Download Wordpress.
Install theme.
Install plugins.
Activate plugins.
Customize theme.
Email client: "Done, invoice attached."
Receive sum of $10,000.6 -
Allright, so now I have to extend a brand new application, released to LIVE just weeks ago by devs at out client's company. This application is advertised as very well structured, easy to work on, µservices-based masterpiece.
Well either I lack a loooot of xp to understand the "µservices", "easy to work on" and "well structured" parts in this app or I'm really underpaid to deal with all of this...
- part of business logic is implemented in controllers. Good luck reusing it w/o bringing up all the mappings...
- magic numbers every-fucking-where... I tried adding some constants to make it at least a tiny bit more configurable... I was yelled at by the lead dev of the app for this later.
- crud-only subservices (wrapped by facade-like services, but still.. CRUD (sub)services? Then what's a repository for...?). As a result devs didn't have a place where they could write business logic. So business logic is now in: controllers (also responsible for mapping), helpers (also application layer; used by controllers; using services).
- no transactions wrapping several actions, like removing item from CURRENT table first and then recreating it in HISTORY table. No rollback/recovery mechanism in service layers if things go South.
- no clean-code. One can easily find lines (streams) 400+ cols long.
- no encapsulation. Object fields are accessed directly
- Controllers, once get result from Services (i.e. Facade), must have a tree of: if (result instanceof SomeService.SomeSubservice1.Item1) {...} else if (result instanceof SomeService.SomeSubservice2.Item4) {...} etc. to build a proper DTO. IMO this is not a way to make abstraction - application should NOT know services' internals.
- µservices use different tables (hats off for this one!) but their records must have the same IDs. E.g. if I order a burger and coke - there are 2 order items in my order #442. When I make a payment I create an invoice which must have an id #442. And I'm talking about data layer, not service or application (dto)! Shouldn't µservices be loosely coupled and be able to serve independently...? What happens if I reuse InvoiceµService in some other app?
What are your thoughts?1 -
Started out as an intern at my current employer, after a few months they made me create an invoicing system...
I should have said no.
I've had a lot of bugs with it in the past, but the data-loss one has been because I send a SOAP call to our (third party) accounting system and only if I get an ERROR do I log it....
Apparently, when you put line 1 before line 0, you get a warning, but no data is processed...
Had to write a script that updated 4 months of invoice data in one go, without errors, took me a fucking week...
Lesson learnt boys and girls, never let an intern make the fucking invoicing system!rant wk98 stupid mistakes i need to get some rest tired af fml intern fuck my life never trust 3rd parties3 -
Finished building an app for a client and sent it to them. Messaged them every week for a month asking if things were OK and if they needed any assistance (no invoice sent either). 6 weeks later I wake up to a stream of emails and missed calls about a small bug that they demand being fixed immediately because of an urgent business need. Fixed the bug. Sent invoice. It's been nearly 2 months and still waiting for payment. FML.3
-
FUCK ASUS FUCK service centers
Fuck Asus. My laptop charger was not working and I called them. These fucking people asked me to get my warranty approved because according to thier database they only have manufacturing date. So they said send us the invoice and we will update it So they wanted me to wait 5 days to get an entry updated in their database. 😑😑 After this shit. I have to wait 7 days for a new charger. These people and Thier service it's shit shit shit4 -
Do you think your job is fun?
So many boring jobs out there.. Examples:
- .Net services for some financial institution
- Java business applications for invoice record processing
Yeah, bore me more. Thanks. I prefer something more fun.10 -
Like 4 years ago I worked in a company as IT that used a windows desktop app with SQL Server 2008 (yep that old) to manage their sales, this app was written in WPF, the app was good because it was customizable with reports
One day the boss wanted to keep extra some data in the customer invoice, so they contacted the app developers to add this data to the invoice, so they they did it, but it in their own way, because the didn't modify the app itself(even if it was an useful idea for the app and companies that use it) they just used other unused fields in the invoice to keep this data and one of the field that the boss was interested was currency rate, later I verified in the DB this rate was saved as string in the database
The boss was not interested in reports because he just wanted to test it first and let time to know what the boss will need in the reports, so at the of the year they will contact again the devs to talk about the reports
So is the end of that year and the boss contacted the devs to talk about the reports of the invoices using the currency rate, this rate was just printed in the invoice nothing more, that's what the boss wanted that's what's the devs did, but when asked to do the reports they said they could'nt because the data was saved as string in the DB o_O
Well, that was one the most stupid excuses I ever heard...
So I started to digging on it and I found why... and the reason is that they were just lazy, at the end I did it but it took some work and the main the problem was that the rate was saved like this 1,01 here we use comma for decimal separator but in SQL you must use the dot (.) as decimal separator like this 1.01, also there was a problem with exact numbers, for example if the rate was exactly 1, that data must be saved just 1 in the field, but it was saved as 1,00 so not just replace all the commas with dots, it's also delete all ,00 and with all that I did the reports for my boss and everyone was happy
Some programmers just want to do easy things... -
So got first invoice for Internet in my new flat. Via e-mail with winmail.dat attached. WTF? Send them reply that their mailing system is broken. They replied that *I* probably have wrongly setup *Outlook* and sent me instructions how to configure my Outlook. Thank you, my mutt us fine and your instructions wouldn't work. Sent them another reply that I'm happy that they know the answer and that they should apply it to their setup as my mail setup is correct. Got e-mail with pdf. No wonder those guys don't suppprt IPv6 nor DNSSEC if they have troubles using plain e-mail. Maybe I should check whether they have DKIM or SPF and do some little evil...1
-
Been consulting a friendly acquaintance on technical issues for some time now. An interesting side project in a field that I am not familiar. Well after some time you begin to be well versed and understand what it's all about.
Wrote some code. Made a website. Did some soldering and prototyping. Now I find myself in a position where most of the IP is a) written by me b) designed by me.
An official agreement has been a topic couple of times. The owner wants to hire me, but I don't see myself working there. He offered shares. I said yes. But nothing has been formalized.
Now the the CEO sends me an NDA that practically tries to make me sign over all the IP to the company. First correspondence I get from him since the beginning. Legislation is quite clear. Without written agreement IP is owned by the creator.
I lolled. They must think I am dumb because I try to help. I feel a hefty invoice for services provided generating in my accounting.. -
Our owner's other company sells products online (or has the ability to anyways). Their current site is 7+ years old WordPress/Woocommerce and is seriously outdated because the site breaks if you update anything so we've been told to make a new site (finally). They also said they were going to release a whole new line up of products. So the first thing I tried to do was get them to nail down their product line and how shipping was going to be configured. I was told to just use the shipping from the previous site.
Turns out those shipping rates don't use any sort of math or automation at all, there is literally a manually set shipping value for every single product for every single shipping location (30*60) and even values for different quantities. And there's no way to export these rates into a readable table because the plugins they use shove all the data into the postmeta table, I'm forced to go through and put the data into a spreadsheet so that I can attempt to organize it and hopefully find someone way to automate it. Owner claims at one point that he has a similar spreadsheet that's more up to date but for some reason refuses to send it over or put me in touch with the right people in the shipping department.
I've gone through the shipping rates with the old products and the new products and organized them as best I can and each time I've gotten done and shown them the spreadsheet with their products and shipping, they add or change something which requires me to basically wipe the slate clean and start over eating another 50 or so hours of my time, which with everything else really means another month+ to find time to work on it between other projects.
After about a year they finished their products and I finally finished the planning and got approval to build it out for the site. Small victory!!
After about 60 hours plugging these values into the database (only about 1/3 done) I get an email from their head of shipping who tells me the values in my spreadsheet are "terribly inaccurate, in some areas by $100+" and that the data should not be used anywhere.
So after something like a year and a half and 200+ hours of work, the data I've been using to plan all this isn't even accurate. I'm trying not to go crazy here but this kind of shit is unacceptable. When we're done with this I'm going to send the owner an invoice to show him how much money he wasted on this because nothing was planned and he just wanted it built. There's a fucking process for a reason, when you don't follow the process you fuck everything up. If a client had pulled this shit and turned their simple site into this much work they would have been dropped. I get constant emails asking when the new site will be done and every time my answer is "I'm still waiting for x items that I asked for last time you asked where we were." He gets a couple things on the list and sends them back and then goes unresponsive for weeks at a time.
Management has been telling me that I seem more stressed lately but only one of them understands what's going on here when I explain it. The rest say stupid shit like "why don't you automate it" or "make an intern do it." You won't let me hire an intern and even if I did, I'm not sure I could explain how the shipping works now to even trust someone else to do it. I'm hoping when the shipping guy gives me the new sheet that maybe there's some easier solution here because I'm ready to start shooting people.2 -
Little project for an insurance sales guy / finance coach / entrepreneur
My first thought: guy sounds extremely shady but ok let’s come up with a hefty price.
Guy accepts my offer and pays one third in advance as I asked. Of course he pays cash because he „didn’t make it to the bank“ but happened to have the big bucks in his wallet.
I give him a receipt for the cash payment.
Job is done I write an invoice for the remaining two thirds.
Guy transfers money to my account. No cash this time.
However he took the sum in the second invoice and subtracted the first one and 50 bucks extra and send the remaining entirely imaginary sum.
I text him. He does not get it and explains that he payed cash in advance.
I say yes but that is not the point. You can not make up the sums of your invoice yourself.
I send him three warnings via mail.
He sends an angry letter back sayingthst he payed one third in advance.
I tell him how nice it is that we agree in that regard but that the issue will go t court if he does not pay.
Sometimes I am fascinated how elaborately stupid people can behave. :/5 -
Hey guys,
I need your advice about deciding wether to work as a freelancer for a startup or no.
So this French startup is couple years old and they decided to build a team in my country. I went to the interview few weeks ago and we discussed the projects, details, potential salary and everything seemed great.
Couple days ago I received a service contract from them and now I need to decide to work for them or no.
Plan is for them to come to my country, rent an office and I should go there and work for them.
The salary that they offered is medium level and they will not have any legal entity in my country. However it’s not a problem for me since I have my own LTD company so I would pay salary on my own.
However there are some cons:
My team members are being hired as freelancers, however salary is defined with a daily rate instead of hourly and we are allowed to work maximum 20 days a month. It is not clear how many hours a week/month they will expect us to work and at this point I’m afraid to rock the boat with my questions. I understand that I shouldn’t receive any health insurance, sick leave pays, vacation days, home office, pension contributions and so on. But it’s so weird that they pay per day instead of per hour. It screams with unpaid overtime.
Payment time is 30 days after invoice has been sent. So If I started working from September 01, I will send them invoice at September 30, then I will work all October and will receive my money only around end of October. Working 60 days to receive my first salary doesn’t seem nice.
Notice period is 30 days. Which is fine on my end since I can be completely free after initial notice. But in their case if they want to fire me I guess they will simply not give me any work to do and since I’m charged per day I won’t be able to send them any invoice. No employment safety, which means if after 2-3 months they don’t have anything to do I can get royally screwed. But it’s startup nature I guess?
They don’t provide a laptop to work with. I’m lucky since I have a laptop for developing mobile apps, and they said they will at least provide office to work in and a monitor.
All this situation is sending vibes of "we want to save money so we came to your country for cheap labour and now we gonna exploit you"
What complicates matters is that my sister will be working with me and It’s her first job. They agreed to pay her a decent salary and even be flexible with her studies. However this deal for me does not seem too great as I will be receiving mid level salary with no benefits that I would otherwise get.
On the other hand maybe I'm just overthinking this I can just try it out for few months and see where it goes.
Any thoughts?6 -
Things I've only thought since becoming a freelancer:
How to politely phrase "b*tch better have my money" in an email after nearly a month of waiting on an invoice. -
While being an intern I had to make a finance system, no requirements except for the fact that it has to invoice the right person...
As soon as it was seemingly done, I'd go to the customer and he'd just say "why isn't x in there? This isn't what I meant! Where is y feature? Why does it work like this and not like that?" etc...
I had 0 experience, and was just told to make stuff as I went, horrible experience and truly the most frustrating project I've ever done. -
I wrote my first proper promise today
I'm building a State-driven, ajax fed Order/Invoice creation UI which Sales Reps use to place purchases for customers over the phone. The backend is a mutated PHP OSCommerce catalog which I've been making strides in refactoring towards OOP/eliminating spahgetti code and the need for a massive bootstrapper file which includes a ton of nonsense (I started by isolating the session and several crucial classes dealing with currency, language and the cart)
I'm using raw JS and jquery with copious reorganization.
I like state driven design, so I write all my data objects as classes using a base class with a simple attribute setter, and then extend the class and define it's attributes as an array which is passed to the parent setter in the construct.
I have also populateFromJson method in the parent class which allows me to match the attribute names to database fields in the backend which returns via ajax.
I achieve the state tracking by placing these objects into an array which underscore.js Observe watches, and that triggers methods to update the DOM or other objects.
Sure, I could do this in react but
1) It's in an admin area where the sales reps using it have to use edge/chrome/Firefox
2) I'm still climbing the react learning curve, so I can rapid prototype in jquery faster instead of getting hung up on something I don't understand
3) said admin area already uses jquery anyway
4) I like a challenge
Implementing promises is quickly turning messy jquery ajax calls into neat organized promise based operations that fit into my state tracking paradigm, so all jquery is responsible for is user interaction events.
The big flaw I want to address is that I'm still making html elements as JS strings to generate inputs/fields into the pseudo-forms.
Can anyone point me in the direction of a library or practice that allows me to generate Dom elements in a template-style manner.4 -
Client: bug: downloading invoice pdf filename is F0000%20client%20project.pdf, fix this!
Dev: Safari browser has this problem since 2014, options are installing chrome on mac or saving file as F0000_client_project.pdf
Client: no, fix this!
Dev: 😫4 -
Person from a company I am contractor for tried to fuck me up and put me to the project with high money penalties without my will and behind my back.
I don’t understand those people.
You run a project do everything for them except delivering invoice to client and they try to fuck you anyway behind your or their client back.
You literally fight with people to give them money.
This all happened after me keeping their client project for almost 4 years.
Bell rings again to leave them this year after end of contract and don’t look back but I’m sad I need to leave nice client and application I was making for 4 years straight. I am oldest person in project probably only one that understands business behind it from ground up.
There was big rotation in project and knowing the company they will put some junior on my place that will break everything.
Well I still have some time to think ( maybe even couple of months) about what to do next besides taking some time off during this summer.
I am afraid that I rejected so many interesting offers during those 4 years nobody wants me and I got rusty with my stack I am no longer competitive.
I was unable to make anything during weekend and on Monday again cause of this shit.
Fucking people.4 -
My main project in work is making program in C# (right now .NET Standard) that can read scans of invoices that are sent from contractors. I'm working on it for almost two years now (with breaks and only halftime because university). Alone. And for last two months I've been redesigning, refactoring and making whole app "better", using experience and knowledge gained in the last two years.
Obviously my boss wasn't happy with that but I got him to accept it, promising that it'll make it work faster, expansion will be simpler and I'll make core as a separate library that can be used anywhere, not only in the JobRouter ecosystem.
And so I reworked most of the code, made it cleaner, I hope, and a tad quicker. And I was happy with it while testing on a package of invoices. Today I made first integration with customer's JobRouter.
The results aren't any better - in some cases they are much worse. Especially while searching for invoice entries, which can be in any shape or form and on any of document's pages.
I guess, being a Junior, I wasn't really up to the task. I'm sick of working on a "guessing" program that has to work with every invoice template users can imagine. I'm sick of not getting any recognition for what I did good. And I'm sick of constantly being pushed to make it work better when I just don't have any more ideas or my skills are just lacking.
To be honest, I don't know what to do. I'll probably have to work on making it search the data better. But it's not trivial to just look at the code and see errors. Iterating on the code while working with different invoices worked for a bit in older versions, but I reached the point where changes made to make one invoice be read better, made another one worse.
Its like on those GIFs where you squish one bug to make another two appear.
So yeah, I'm currently really doubting my career, skills and intelligence.8 -
It's 2016, and you still pay your invoice by fucking cheque. Never heard of BACS? I haven't time for this shit.
-
Now that prick that was my business partner did something really really stupid: he hired a collection agency to make me pay an invoice that was not even due! Of course, this is completely unlawful but this agency is now threatening to sue me if I don't pay because I promised to pay a part of the costs. Well, that promise was indeed made however at a later moment in time mr. Prick signed a contract at the notary office agreeing to take all costs on him. Collection agency says my earlier promise is what matters but I don't believe that is true.
Oh well, mr. Prick's website has been unreachable most of the day. This unreproducable, weird behavior will keep on popping up the next couple of days, weeks or even years. That happens when mr. Prick doesn't know the domain is still owned by me. So yeah, go fuck yourself, prick.4 -
Client wants to be able to edit invoices after they are collected. So essentially he could tell a customer "you didn't pay enough" and if they don't have their receipt then they're screwed? So instead i let him delete invoices. Can re enter them with back date. But not good enough. Still wants to edit existing invoice to change customers account balance. On a whim. This info should be coming from the app in the field when employee takes payment from customer. That's the design HE signed off on. Now all This shit about pulling a fast one on his customers. Not comfortable here. Seems crooked or am i over thinking so i don't need to add another CRUD flow?9
-
A: our WordPress website that use heavily Facebook APIs is not working anymore because of the privacy changes
B (thinking): seems something easy, check the settings and do an invoice of the job for a portal that we didn't done and get a new customer
B: we can do it in blablabla for blablabla
Silence from the A side
1 month later...
A: I didn't found your bank account for the payment but we are ready to do that fix. And we have also a new feature request. -
most cutting edge?
that would be that invoice processing system that is in production despite its pre-pre-pre-alpha status.2 -
Ok. I GIVE UP! ...for at least a couple hours...
I'm not a big believer in... well anything suitable to the literal definition of believe. But there's only so much 'wtf? How is this even possible?' and any answer u can come up with is nearly statistically impossible...
I am a neuro-atypical (and just extremely atypical even if i somehkw was neurotypical) being, based on logic, finely calculated statistical probability and the most raw data and as unbiased as realistically possible, algorithms and interpretation (usually recursive pattern recognition with several highly detailed historical sources.
...but at some point statistical improbability and a collation of separate, yet relatively closely occuring events/circumstances makes logic, itself a primary suspect of corruption.
What was the breaking point that caused me to (temporarily) give up and tell logic to f off for a bit cuz maybe the illogical and mythical is the real logic, leaving me in a losing battle with 'the' fates?
Trying to get all my sourcing/purchase orders in/paid for/on the literal boats b4 end of the workday/week in china...
1st, had to drop a supplier cuz they have limited reps. When the one ive had 7+ years left, i got the aloof blonde girl societal trope of a rep... who for the 2nd time (despite the several very blunt complaints above her, incl me) she sent out a promotional update to the entire client list (ie, inherently competitors) as CC not BCC... over 200 business email accounts with tailored info of their sourcing.
2- totally diff company/ industry a former rep i was glad be rid of apparently just sfarted back for "awhile" as i needrf to restock/scale...apparently she forgot everything we discussed at length... lke if you want a chance on my business im not gonna be wasting time looking through your gui "mini store to then inquire about everything individually insead of a simple spreadsheet(which i print and put in a 3-ring binder rotating current catalogues in the same format i require everywhere)
3.dog was an ahole, my packed schedule got delayed and morphed.. a bunch of little bs thatd normally have no extra thought impact, hyperfocused forgetting one of my alarms til i realised my idiopathic fever was back and i didnt take/apply meds (pain/muscle relaxers mainly so despite this odd free time and needing to shower. I gotta sit on my rear, leg elevated/non-productive far 40min b4 i can shower (as functional legs and lack of syncope is almost a req to shower)
4. A new-ish rep of a company/factory i like/respect enough to not mention in relation... he makes invoice 1.. slight error thst was easily resolved...#2 was flawless... he goes to officially generate the contract(alibaba... verrrry simple with lots of extra explanation buttons). Price and all items match, its near workweek end so i was waiting for it so i could quickly pay/have it on the boat b4 it left and few fdav days are behind...
I put in card info, get to the 2 cbeck boxes (imo should be only 1 but whatever) asking if billing address is same ss delivery(its always default yes)... then i see a few lines in chinese (i can read enough for business negotiations... typical words/sentences innately look different than things like individual letters/address and postal indicators.) After a few loops of double checking, mentally trying to dismiss my i Intial judgement cuz it'd be too ridiculous... even resorted to google .... nope... initial wtf was spot on... recipient name/address was indeed the company(multi factory producer)i was purchasing a wholesale, via sea freight, bulk of products from.
Im pretty sure the system would've flagged it as an invalid contract within an hr... but seriously... ive been handling alibaba (and other) international sourcing since before high school(mainly small businesses i made sites/little tools for that found anything with a light up screen intimidating) and a purchase then shipment to the originating company/factory actually entered into a contract(the form is sooo simple)... im faced with ridiculously improbable obstacles actually existing and changing in such nonsensical statistically improbable ways so often that 1. I wouldn't trust a dr (or most humans) that didnt 1st assume i was crazy of some form...unfortunately im not, despite hkw much simpler and probable itd be 2. Id be super suspicious/converned if statistic norms were my norm for over a day.
But seriously wtf???
Someone give me some wisps of a frame of ref here... where's a typical 'fuck this, im out!' Breaking point?1 -
Working on a xslt just to change a single character in an invoice. The system I use does not have the euros sign...
Because fuck manually editing the pdf every month.
Fun.2 -
Has anyone worked with these 2 APIs
°Chargebee
°Billbee
I'm using chargebee for creating invoices
with a AWS lambda passing invoice data from chargebee to billbee to create an order in billbee
I'm in need of help on how to get item SKU
and on which side do i extract SKU
the SKU value is necessarily for mapping products in billbee when the order is created -
I need to change how payments are applied to invoices.
ApplyPolicyPayments() looks promising! Make changes to the method to look at the bills in order of the invoice due dates.
Run a test on the DEV environment, and the system is still exhibiting the same bug.
At this point, I wrote a quick logging plugin that I could attach to the DLL and start telling me what is going on.
Turns out, payments are actually applied in a method named BalancePolicy(). So what does ApplyPolicyPayments() do? It DOES apply payments to bills, but then just doesn't save the work. Having it commit the transactions breaks the billing system. FML. -
For those who ever tried to find and/or implement a crm: everything seems to be based on that bastardized vtiger core which is based on an old version of sugarcrm I'm so fucking tired of that shit. I gonna make my own. The underlying framework makes me sick to the bone. Everything in there relies heavily on magic. Being arround for years and just recently got a new major release yet unable to transfer offer items to the invoice even though it requires a relation?
This is not blunt talk. My thing is based on Laravel, EAV principle for dynamic fields, module code structure, interface for the list view and many other stuff is already integrated. This is gonna be done and will be done because existing stuff is so fucking ugly and broken I can't fathom myself.
Btw I still need a name
PS: I hate smarty, PearDb and their fucking database layout -
Hello folks,
Need an advice for getting some freelance jobs on upwork (looks like the most promising). The thing is that I have revised my profile many times, I get jobs to reply to my invoice and discuss a bit and they seem satisfied but at the end they reject my invoice generally because of a lack of experience on upwork.. I mean it's a paradox God damnit! I have projects I want to offer a descent living for my lady and I with all my will I can't get more job.. -
I'm a fucking student, so no I don't recieve copies of the utility bills to my bloody halls, nor do I get paper versions of my damn bank statements, since y'know, it's 2016.
It's a goddamn £250 invoice I can't get now, despite getting at least 10 other payments for the same amount previously.
Fuck you in your Royal arse, peopleperhour2 -
Management just sent urgent email to ignore all communication with one of the projects. Looks like some companies struggle with the idea of paying the invoice in time. Can't say that I'm unhappy about skipping 9am call, need my sleep