... с 1 января 2019 года иностранные организации будут обязаны исчислять налог на добавленную стоимость ... Для реализации указанных изменений Федеральная налоговая служба осуществляет подготовку к постановке на налоговый учет иностранных организаций ....
стремно лишний раз к себе привлекать внимание
А еще кстати со следующего года апворк должен будет сам платить ндс
Поэтому я всегда рекомендую работать по старым документам, где ваш единственный контрагент - это сам Upwork, а налоговая база - это то, что упало вам на счёт в банке.
Вы тоже почитайте старый Confirmation of Services. Там явно написано, что заказчиком является Upwork и он обязуется выплатить подрядчику
"Заказчик" (как определено в Пользовательском Соглашении Upwork)
Подрядчик и компания Upwork Global Inc ... подтверждают..., что работы
были выполнены Подрядчиком и приняты Заказчиком в соответствии с Договором.
«Клиент» подразумевает авторизованного Пользователя, использующего Сайт для поиска
и/или получения Услуг Фрилансеров от других Пользователей. Время от времени Upwork может
выступать в качестве Клиента.
с какой стати я должен платить налоги с каких-то фантиков, которые нарисованы на виртуальном счёте upwork? У меня договор с upwork и он мне платит живые деньги.
ЗЫ а если и начислит в теории, то у меня ПСН и там фиксированная ставка ))) пусть хоть миллион доначисляют
Я бы всё наоборот сказал: Transaction History интересен только ВК вашего банка, а Confirmation of Services как раз стоит показать налоговой и его же использовать в расчёте налоговой базы.
Чем планируете подтверждать что поступления на транзитный счет это тот же самый доход который вы задекларировали с другими датами и суммами? А то будет не смешно если поступления на счет автоматом влючат в налоговую базу вдобавок к задекларированному.
А в чем проблема использования subprocess в данном контексте?
как в Popen передать аргументы?
...
никак, только как аргументы, ну или можно накостылить
...
Я уже сделал костыль
Popen запускаю в функции, а функцию запускаю через multiprocessing.Process
The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, and obtain their return codes
while True:
data = q.get() # блокирует выполнение до получения новых данных
if data == 'bla':
break
import random
import time
from multiprocessing import Process, Queue
def worker(prefix, q):
for x in range(4):
q.put('result_%s_%d' % (prefix, x))
time.sleep(random.random())
def db_writer(q):
print('DB start')
while True:
data = q.get()
if data == 'quit':
break
print('DB: %s' % data)
print('DB done')
q = Queue()
workers = [Process(target=worker, args=('1', q)),
Process(target=worker, args=('2', q))]
db = Process(target=db_writer, args=(q,))
print('Start')
db.start()
for x in workers:
x.start()
for x in workers:
x.join()
q.put('quit') # Если убрать, то скрипт не завершится.
db.join()
print('Done')